用于pytest的rabbitmq进程和客户端设备

pytest-rabbitmq的Python项目详细描述


pytest rabbitmq

Latest PyPI versionWheel StatusSupported Python VersionsLicense

包裹状态

TestsCoverage StatusRequirements Status

这是什么?

这是一个pytest插件,它使您能够测试依赖于正在运行的rabbitmq队列的代码。 它允许您为rabbitmq进程和客户机指定额外的fixture。

如何使用

插件包含两个装置

  • rabbitmq-它是一个具有功能范围的客户端fixture每次测试之后,它都会清理rabbitmq、清理队列和交换,以获得更可靠的测试。
  • rabbitmq_proc-会话范围的fixture,它在rabbitmq实例首次使用时启动,在测试结束时停止。

只需将其中一个fixture包含到测试fixture列表中。

如果需要,您还可以创建其他rabbitmq客户机和进程装置:

frompytest_rabbitmqimportfactoriesrabbitmq_my_proc=factories.rabbitmq_proc(port=None,logsdir='/tmp')rabbitmq_my=factories.rabbitmq('rabbitmq_my_proc')

注意

每个rabbitmq进程fixture可以通过fixture工厂参数以不同的方式配置。

配置

可以通过三种方式定义设置,即fixture factory参数、命令行选项和pytest.ini配置选项。 您可以选择您喜欢的设置,但请记住,这些设置的处理顺序如下:

  • ^{tt1}$
  • ^{tt2}$
  • ^{tt3}$
RabbitMQ optionFixture factory argumentCommand line optionpytest.ini optionDefault
hosthost–rabbitmq-hostrabbitmq_host127.0.0.1
portport–rabbitmq-portrabbitmq_portrandom
rabbitmqctl pathctl–rabbitmq-ctlrabbitmq_ctl/usr/lib/rabbitmq/bin/rabbitmqctl
rabbitmq server pathserver–rabbitmq-serverrabbitmq_server/usr/lib/rabbitmq/bin/rabbitmq-server
Log directory locationlogsdir–rabbitmq-logsdirrabbitmq_logsdir$TMPDIR
Node namenode–rabbitmq-noderabbitmq_noderabbitmq-test-{port}

示例用法:

  • 在您自己的装置中将其作为参数传递

    rabbitmq_proc=factories.rabbitmq_proc(port=8888)
  • 运行测试时使用--rabbitmq-port命令行选项

    py.test tests --rabbitmq-port=8888
    
  • pytest.ini文件中将端口指定为rabbitmq_port

    To do so, put a line like the following under the ^{tt7}$ section of your ^{tt6}$:

    [pytest]rabbitmq_port=8888

更改日志

1.1.2

  • [修复]修复列表队列功能

1.1.1

  • [enhancemet]已删除path.py依赖项

1.1.0

  • [增强]将pytest rabbitmq调整为pytest 3。需要Pytest 3。

1.0.0

  • [增强]用于修改rabbitmq节点名称的命令行和pytest.ini选项
  • [增强]用于修改服务器exec路径的命令行和pytest.ini选项
  • [增强]用于修改ctl exec path的命令行和pytest.ini选项
  • [增强]用于修改主机的命令行和pytest.ini选项
  • [增强]用于修改端口的命令行和pytest.ini选项
  • [增强]用于修改日志目录目标的命令行和pytest.ini选项

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

推荐PyPI第三方库


热门话题
java如何在jetty请求日志中添加milliscond字段?   java在使用Scanner类从文件读取信息时遇到问题   为什么。类不适用于泛型类型?   SQLite插入上的java空指针异常   java能告诉我们Guava缓存是在禁用统计数据的情况下构建的吗?   java在应用程序中使用常量   java无法使用AutoIT和Selenium Webdriver在所需位置/文件夹保存图像   java如何在jtable中更新jprogress栏   java是比较给定日期和当前日期(在给定时区中没有时间段)的最佳方法   安卓代码中的java错误   java无法访问实体类中的字段   java如何在tomcat中处理三个JDBC连接池?   java无法使用Spring Security保护AngularJS页面   如何在没有TCP/IP协议栈的情况下用Java发送以太帧