一个pytest插件,允许从文件中(取消)选择测试。
pytest-select的Python项目详细描述
这是一个pytest插件,允许从从从文件加载的列表中按名称(de-)选择测试。
安装
建议从pypi安装此软件包:
pip install pytest-select
用法
此插件向pytest添加新的命令行选项:
- --select-from-file
- --deselect-from-file
- --select-fail-on-missing
前两个都需要一个参数,该参数解析为包含每个 行。
第三种方法在要执行的测试中缺少(取消)选定的测试名称时更改行为。 默认情况下会发出警告,其余选定的测试将正常执行。 在这种情况下,通过使用--select-fail-on-missing标志,可以将此行为更改为中止执行。
测试名称的格式应与 pytest --collect-only--quiet例如。
接受两个简单的测试名称或完整的节点ID(例如test_file.py::test_name)。
示例:
$~ cat selection.txt test_something test_parametrized[1] tests/test_foo.py::test_other $~ pytest --select-from-file selection.txt $~ pytest --deselect-from-file selection.txt
问题
为什么不使用pytest的内置-k选项
-k选择机制(当前)无法处理选择多个参数化的 测试和也有点脆弱,因为它不仅匹配测试名称。 此外,根据测试的数量,在命令行上指定测试名称可能会溢出 最大命令长度。
这对
有什么用处?作者使用这个插件在Circle CI上split tests across workers。
示例:
pytest --collect-only --quiet | \ grep '::' | \ circleci tests split --split-by=timings --timings-type=testname > selected.txt pytest --select-from-file selected.txt
版本历史记录
- v0.1.2-2019-01-18:
- 添加信息性Pytest头报告输出
- v0.1.1-2018-12-10:
- 添加--select-fail-on-missing选项
- 添加基本突变检测
- v0.1.0post0-2018-12-08:
- 修复自述文件
- v0.1.0-2018-12-08:
- 初始版本