python Nose 测试框架有一些命令行选项来包含,排除和匹配正则表达式,以便分别包含/排除和匹配测试。

但是,它们似乎无法正常工作。

[kiran@my_redhat test]$ nosetests -w cases/ -s -v  -m='_size'
----------------------------------------------------------------------
Ran 0 tests in 0.001s
OK
[kiran@my_redhat test]$ grep '_size' cases/test_case_4.py
    def test_fn_size_sha(self):

Nose 框架的正则表达式匹配语义有什么问题吗?

最佳答案

Nosetests 的 -m 参数用于匹配目录、 文件名、、类和函数。 ( See the nose docs explanation of this parameter ) 在您的情况下,您的测试文件 (test_case_4.py) 的文件名与 -m 匹配表达式 (_size) 不匹配,因此永远不会打开。

你可能会注意到,如果你强制 Nose 打开你的测试文件,它只会运行指定的测试:

nosetests -sv -m='_size' cases/test_case_4.py

一般来说,当我想匹配特定的测试或测试的子集时,我使用 --attrib plugin ,它在默认的 Nose 安装中可用。您可能还想尝试排除匹配某种模式的测试。

关于python - Nose 框架命令行正则表达式模式匹配不起作用(-e,-m,-i),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18064372/

10-12 06:23