随机化pytest测试的运行顺序,并对随机性进行一些控制

pytest-random-order的Python项目详细描述


快速启动

安装:

$ pip install pytest-random-order

从v1.0.0开始, 默认情况下,此插件不再随机化测试。要启用随机化,必须运行 用以下方法之一进行pytest:

pytest --random-order
pytest --random-order-bucket=<bucket_type>
pytest --random-order-seed=<seed>

如果要始终随机化测试顺序,请配置pytest。有很多方法可以做到, 我最喜欢的方法是在项目特定的配置文件中添加 addopts= --随机顺序 在pytest选项下(通常 [pytest] [tool:pytest] 部分)。

或者,您可以设置环境变量 pytest\u addopts

export PYTEST_ADDOPTS="--random-order"

随机化模块内的测试顺序并改变 测试模块(插件的默认行为)按如下方式运行pytest:

$ pytest --random-order

要更改重新排序的范围,请使用 --random order bucket=<;bucket type>; 选项运行pytest 其中 <;bucket type>; 可以是 模块 全局

$ pytest -v --random-order-bucket=package

要禁用模块或类中测试的重新排序,请使用pytest标记符号:

pytestmark = pytest.mark.random_order(disabled=True)

按特定顺序重新运行测试:

$ pytest -v --random-order-seed=<seed>

启用随机化的所有运行报告种子,因此如果遇到特定的测试顺序 这会导致问题,您可以在测试报告中查找该值,然后使用上述命令重复运行。

platform darwin -- Python 3.5.6, pytest-3.9.1, py-1.7.0, pluggy-0.8.0
Using --random-order-bucket=module
Using --random-order-seed=383013

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

推荐PyPI第三方库


热门话题
java连接usb到uart设备到安卓设备>3.1   可以强制Php中的web应用程序与Java中的桌面应用程序一起工作吗?   java为什么自定义系统类加载器不工作?   数组在Java中解析具有多个分隔符的字符串   PMD Java 8德米特定律   JavaSpringMVC表单验证不适用于嵌套的复杂类型   让Eclipse Java组织导入以使用Google checkstyle   java Appium:无法创建新会话   java如何在数组中声明新字段   java如何解决“无法初始化类org.apache.cassandra.config.DatabaseDescriptor”?   java AsyncTask创建socket   java向@CreatedBy添加更多信息   如何在ubuntu中运行包含大量jars依赖项的java文件   java如何使用<s:select>标记并在中休眠来填充下拉列表?   java获取错误:找不到符号变量“level”和“next_level_button”   javaweb应用中基于UI的ajax显示代码流   Java长到MySql   java JvisualVM:奇怪的应用程序行为   ubuntu将Java程序的输出结果保存到一个文件中