Is there a way to specify which pytest tests to run from a file?
是否有方法从文件中选择要运行的pytest测试?例如,文件foo.txt包含要执行的测试列表:
1 2 | tests_directory/foo.py::test_001 tests_directory/bar.py::test_some_other_test |
或有没有一种方法可以从使用pytest的不同目录中选择多个测试,测试名称中没有通用模式?
一个选项是对每个测试使用pytest.mark,但我的要求是从不同的文件运行不同的测试组合。
是否有方法为每个模式指定多个模式和一个测试文件名?或者,有没有一种方法可以在文件中指定精确的测试路径,并将该文件作为pytest的输入进行馈送?或是否有可用于此目的的挂钩功能?
您可以使用
1 | py.test tests_directory/foo.py tests_directory/bar.py -k 'test_001 or test_some_other_test' |
这将运行名为test_001的测试用例,并测试一些其他的测试,取消选择其余的测试用例。
Note: This will select any test case starting with test_001 or test_some_other_test. For example, if you have test case test_0012 it will also be selected.
指定测试/选择测试
pytest支持几种方法来运行和从命令行中选择测试。
在模块中运行测试这将运行包含与给定字符串表达式匹配的名称的测试,其中可以包括使用文件名、类名和函数名作为变量的python操作符。上面的示例将运行
每个收集到的测试都被分配一个唯一的
在命令行中指定测试方法的另一个示例:
将运行用
有关更多信息,请参见标记。
从包运行测试这将导入
来源:https://docs.pytest.org/en/latest/usage.html指定测试选择测试
这里有一个可能的部分答案,因为它只允许选择测试脚本,而不允许在这些脚本中选择单个测试。
而且它也受到了我使用遗留兼容模式和
下面是:
对于隐式假定文件在
一旦测试脚本正确执行,只有
另一种可能是在当前的测试目录中进行符号链接,比如说
也许使用
Pytest文档中显示了一个很好的示例。我想你在找什么。