我想运行一套单元测试。基本代码是:
suite = unittest.defaultTestLoader.discover('tests')
该函数的文档提到了
pattern
参数,默认为 test_*.py
:
仅加载与模式匹配的测试文件。 (使用 shell 样式模式匹配。)
我只想运行其中一些测试,例如
test_abcd
、test_ab1
和 test_ab3
,但不运行 test_ab2
(因为它导入的文件可能不存在)。在 shell 中,我可以将这些文件与:
test_{abcd,ab1,ab3}
但是它在测试发现器内部失败了。我也尝试过这些模式,但它们都不能在发现者内部工作:
test_\(abcd|ab1|ab3\)
test_abcd,test_ab1,test_ab3
在发现者内部起作用的一种模式是
test_ab[2-4]
,但它也会捕获 test_ab3
,这是我不想要的。
如何将这些特定文件与 shell 模式或单元测试发现器相匹配?