用于pytest的rabbitmq进程和客户端设备
pytest-rabbitmq的Python项目详细描述
这是什么?
这是一个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 option | Fixture factory argument | Command line option | pytest.ini option | Default |
---|---|---|---|---|
host | host | –rabbitmq-host | rabbitmq_host | 127.0.0.1 |
port | port | –rabbitmq-port | rabbitmq_port | random |
rabbitmqctl path | ctl | –rabbitmq-ctl | rabbitmq_ctl | /usr/lib/rabbitmq/bin/rabbitmqctl |
rabbitmq server path | server | –rabbitmq-server | rabbitmq_server | /usr/lib/rabbitmq/bin/rabbitmq-server |
Log directory location | logsdir | –rabbitmq-logsdir | rabbitmq_logsdir | $TMPDIR |
Node name | node | –rabbitmq-node | rabbitmq_node | rabbitmq-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选项