用于pytest的redis夹具和夹具工厂。
pytest-redis的Python项目详细描述
这是什么?
这是一个pytest插件,它使您能够测试依赖于正在运行的redis数据库的代码。 它允许您为redis进程和客户端指定额外的fixture。
如何使用
插件包含两个装置
- redisdb-它是一个具有功能范围的客户端fixture。每次测试之后,它都会清理redis数据库,以便进行更可靠的测试。
- redis_proc-会话范围的fixture,它在redis实例首次使用时启动,在测试结束时停止。
只需将其中一个fixture包含到测试fixture列表中。
如果需要,您还可以创建其他redis客户端和处理装置:
frompytest_redisimportfactoriesredis_my_proc=factories.redis_proc(port=None,logsdir='/tmp')redis_my=factories.redis('redis_my_proc')
注意
每个rabbitmq进程fixture可以通过fixture工厂参数以不同的方式配置。
配置
可以通过三种方式定义设置,即fixture factory参数、命令行选项和pytest.ini配置选项。 您可以选择您喜欢的设置,但请记住,这些设置的处理顺序如下:
- ^{tt1}$
- ^{tt2}$
- ^{tt3}$
Redis server option | Fixture factory argument | Command line option | pytest.ini option | Default |
---|---|---|---|---|
executable | executable | –redis-exec | redis_exec | /usr/bin/redis-server |
host | host | –redis-host | redis_host | 127.0.0.1 |
port | port | –redis-port | redis_port | random |
connection timeout | timeout | –redis-timeout | redis_timeout | 30 |
number of databases | db_count | –redis-db-count | redis_db_count | 8 |
Whether to enable logging to the system logger | syslog | –redis-syslog | redis_syslog | False |
Log directory location | logsdir | –redis-logsdir | redis_logsdir | $TMPDIR |
Redis log verbosity level | loglevel | –redis-loglevel | redis_loglevel | notice |
Compress dump files | compress | –redis-compress | redis_compress | True |
Add checksum to RDB files | checksum | –redis-rdbcompress | redis_rdbchecksum | False |
Save configuration | save | –redis-save | redis_save | “” |
示例用法:
在您自己的装置中将其作为参数传递
redis_proc=factories.redis_proc(port=8888)
运行测试时使用--redis-port命令行选项
py.test tests --redis-port=8888
在pytest.ini文件中将端口指定为redis_port。
To do so, put a line like the following under the ^{tt7}$ section of your ^{tt6}$:
[pytest]redis_port=8888
下面的选项用于配置redis客户端fixture。
Redis client option | Fixture factory argument | Command line option | pytest.ini option | Default |
---|---|---|---|---|
decode_response | decode | –redis-decode | redis_decode | False |
更改日志
1.3.2
- [错误修正]-读取redis版本时关闭文件描述符(由brunsgaard提供)
1.3.1
- [bugfix]不要显式地在shell=true的情况下运行redis
1.3.0
- [增强]redisexecutor现在为属性提供到unixsocket的路径
- [增强]默认情况下,redis客户端设备现在通过unixsocket连接到redis
- [增强]版本检查已移动到Executor,将在启动Redis服务器之前运行
- [功能]能够在命令行、pytest.ini或工厂参数中配置redis客户端的解码响应。
- [bugfix]将decode_responses设置为false,与stricredis default相同
- [增强]更改解码响应值的能力
1.2.1
- [BugFix]在ReIIS可执行路径已被错误配置或不存在 时引发特定错误
1.2.0
- [功能]能够在命令行、pytest.ini或工厂参数中配置为redis启用的syslog。
- [功能]能够在命令行、pytest.ini或工厂参数中为redis配置rdbchecksum。
- [功能]能够在命令行、pytest.ini或工厂参数中为redis配置rdbcompression。
- [ehnacement]-redisexecutor处理参数并根据需要将其转换为redis值。
- [功能]能够在命令行、pytest.ini或工厂参数中为redis配置保存选项。
1.1.1
- [清除]已删除path.py依赖项
1.1.0
- [功能]-将getFuncArgValue的用法迁移到getFixtureValue。至少需要Pytest 3.0.0
1.0.0
- [增强]排除了传递自定义配置的可能性。现在不需要在包中包含一个。
- [增强]命令行、pytest.ini和fixture factory选项,用于在redis中设置自定义数据库数
- [增强]公司用于redis日志详细性的mmand line、pytest.ini和fixture factory选项
- [增强]用于修改连接超时的命令行、pytest.ini和fixture factory选项
- [增强]用于修改可执行文件的命令行和pytest.ini选项
- [增强]用于修改主机的命令行和pytest.ini选项
- [增强]用于修改端口的命令行和pytest.ini选项
- [增强]用于修改日志目录目标的命令行和pytest.ini选项