用于pytest的redis夹具和夹具工厂。

pytest-redis的Python项目详细描述


pytest redis

Latest PyPI versionWheel StatusSupported Python VersionsLicense

包裹状态

TestsCoverage StatusRequirements Status

这是什么?

这是一个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 optionFixture factory argumentCommand line optionpytest.ini optionDefault
executableexecutable–redis-execredis_exec/usr/bin/redis-server
hosthost–redis-hostredis_host127.0.0.1
portport–redis-portredis_portrandom
connection timeouttimeout–redis-timeoutredis_timeout30
number of databasesdb_count–redis-db-countredis_db_count8
Whether to enable logging to the system loggersyslog–redis-syslogredis_syslogFalse
Log directory locationlogsdir–redis-logsdirredis_logsdir$TMPDIR
Redis log verbosity levelloglevel–redis-loglevelredis_loglevelnotice
Compress dump filescompress–redis-compressredis_compressTrue
Add checksum to RDB fileschecksum–redis-rdbcompressredis_rdbchecksumFalse
Save configurationsave–redis-saveredis_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 optionFixture factory argumentCommand line optionpytest.ini optionDefault
decode_responsedecode–redis-decoderedis_decodeFalse

更改日志

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选项

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
NetBeans中的Java Swing滚动窗格   java如何与具有复合键的表建立关系?   Android中读取文件时java数据丢失   java黄瓜场景。embed在ubuntu机器上不工作?   java从spring mvc控制器操作中,我如何获得请求/响应的访问权限?   java减去两个长值   java选择下一个值firebase 安卓   用于起始和结尾连字符的java正则表达式   Java正则表达式解释   java Lifefay freemarker ADT:方法不可用?   java我怎样才能让我的开关盒作用于JFrame?   java在我的场景中使用连接池的理想方式是什么   java我如何接受jsoup的cookies?   java如何将整数数组更改为字符串数组?   java Android操作\u指针\u向上直到剩余触摸移动时才调用   java为什么gradle会出错?   io如何在java中复制/拆分输入流?   java使JButton不可见,但尊重其原始空间   java Spring提交表单获取复选框值不起作用