自动在一个临时目录中设置redis实例,测试后销毁它
项目描述
testing.redis 自动在一个临时目录中设置redis实例,测试后销毁它
安装
使用easy_install(或pip)
$ easy_install testing.redis
并且 testing.redis 需要Redis服务器。
用法
使用 testing.redis.RedisServer 创建Redis实例
import redis import testing.redis # Launch new Redis server with testing.redis.RedisServer() as redis_server: r = redis.Redis(**redis_server.dsn()) # # do any tests using Redis... # # Redis server is terminated here
testing.redis 自动在 $PATH 中搜索redis-server。如果您将redis安装到其他目录,请设置 redis_server 关键字
redis = testing.redis.RedisServer(redis_server='/path/to/your/redis-server')
testing.redis.RedisServer 在实例化时执行 redis-server。删除RedisServer对象时,它终止Redis实例并删除临时目录。
如果您想要包含任何固定数据的数据库,请使用 copy_data_from 关键字
# uses a copy of specified data directory of Redis. redis = testing.redis.RedisServer(copy_data_from='/path/to/your/database')
您可以使用 redis_conf 关键字指定Redis的参数
# Enable appendonly mode redis = testing.redis.RedisServer(redis_conf={'appendonly': 'yes'})
例如,您可以在 setUp() 方法上为每个测试用例设置新的Redis服务器
import unittest import testing.redis class MyTestCase(unittest.TestCase): def setUp(self): self.redis = testing.redis.RedisServer() def tearDown(self): self.redis.stop()
需求
Python 2.6, 2.7, 3.2, 3.3, 3.4, 3.5
redis
许可证
Apache许可证2.0
历史
1.1.1 (2016-08-20)
修复一个错误
#1 修复参数处理
1.1.0 (2016-02-03)
添加服务器调用超时
添加 testing.redis.RedisServerFactory
依赖 testing.common.database 包
1.0.3 (2015-04-06)
修复错误
在析构函数中不要调用os.getpid()(如果不需要的话)
使用绝对路径指定which命令
1.0.2 (2014-06-19)
在终止redis-server时添加超时
修复错误
1.0.1 (2014-06-11)
在 py3 中捕获 SIGINT 时修复 ImportError
1.0.0 (2013-12-07)
首次发布