有没有办法指定从文件运行哪些 pytest 测试?

新手上路,请多包涵

有没有办法选择 pytest 测试从文件运行?例如,文件 foo.txt 包含要执行的测试列表:

 tests_directory/foo.py::test_001
tests_directory/bar.py::test_some_other_test

或者,有没有办法使用 pytest 从不同的目录中选择多个测试,在测试名称中没有共同的模式?

pytest -k <pattern> 允许单一模式。

一种选择是对每个测试使用 pytest.mark ,但我的要求是从不同的文件运行不同的测试组合。

有没有办法为每个模式指定多个模式和测试文件名?

或者

有没有办法在文件中指定确切的测试路径并将该文件作为输入提供给 pytest

或者

是否有可用于此目的的钩子函数?

原文由 Sharad 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 455
1 个回答

您可以使用 -k 选项 来运行具有不同模式的测试用例:

 py.test tests_directory/foo.py tests_directory/bar.py -k 'test_001 or test_some_other_test'

这将运行名称为 test_001test_some_other_test 的测试用例,取消选择其余的测试用例。

注意:这将选择以 test_001 或 test_some_other_test 开头的任何测试用例。例如,如果您有测试用例 test_0012 ,它也会被选中。

原文由 supamaze 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题