繁体   English   中英

通过匹配测试方法名称运行子集单元测试

[英]Run subset unittests by matching test method names

我有一个 test.py 文件,其中包含 TestClass 下的所有测试。 看起来像这样

class TestClass(unittest.TestCase):
    def test_1a:
        ....
    def test_1b:
        ....
    def test_2a:
        ....

我知道我可以使用-p label 运行某些测试来匹配模式,但这需要在 individual.py 文件中进行每个测试? 模式匹配命令看起来像这样python -m unittest discover -s project_directory -p "*_test.py"我猜它匹配文件名中带有_test的 all.py 文件。

我想知道当所有测试都在同一个.py 文件中时是否可以做同样的事情。 例如,我想使用模式test_1*运行测试名称

IMO,在 py 文件中的一个 class 下编写所有测试会适得其反。

自然,测试应该是相对于他们测试的文件编写的,例如,检查流行的库源代码: https://github.com/keras-team/keras-nlp/tree/master/keras_nlp/tokenizers

tokenizer.py
tokenizer_test.py

这有助于防止文件变得太长和难以导航。

除非它是一个小的单文件应用程序,否则会泄露您的测试。

您还可以根据文档使用 CLI 测试单个测试用例:

python -m unittest mypkg.tests.test_module.TestClass.test_method

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM