pytest中所有测试用例的超时

Viv*_*wat 5 pytest

我要求停止整个超时的测试用例,而不是在测试用例级别。因此,如果说我有300个测试用例,那么我想以总时间为300秒来超时。

有没有办法做到这一点?用于运行pytest的示例命令pytest.py --junitxml = artifacts / junitresults.xml -s --gatherlogs = true --durations = 2000 tests / spark

Enr*_*aez 6

看看这个pytest插件:https ://pypi.python.org/pypi/pytest-timeout 它很可能适合您的用例。

您可以通过多种方式设置全局超时,最简单的一种方法是--timeout命令行选项“设置覆盖环境变量和配置选项的全局超时”,然后终止测试:

py.test --timeout=300
Run Code Online (Sandbox Code Playgroud)

  • 它为每个测试设置超时,而不是整个测试运行的持续时间限制。请参阅自述文件 `pytest --timeout=300` “任何耗时超过给定持续时间的单独测试都将被终止” (2认同)