怎么通过命令行从unittest.TestCase运行单个测试?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (13)

在我们的团队中,我们定义了这样的测试用例:

一个“框架”类ourtcfw.py:

import unittest

class OurTcFw(unittest.TestCase):
    def setUp:
        # something

    # other stuff that we want to use everywhere

和很多像testMyCase.py这样的测试用例:

import localweather

class MyCase(OurTcFw):

    def testItIsSunny(self):
        self.assertTrue(localweather.sunny)

    def testItIsHot(self):
        self.assertTrue(localweather.temperature > 20)

if __name__ == "__main__":
    unittest.main()

当我编写新的测试代码并希望经常运行它并节省时间时,我所做的就是将“__”放在所有其他测试之前。但是这很麻烦,会让我分心,因为我编写的代码让人感到烦恼。

例如,当进行testItIsHot()更改时,我希望能够做到:

$ python testMyCase.py testItIsHot

unittest只运行testItIsHot()

提问于
用户回答回答于

指定类名称:

python testMyCase.py MyCase.testItIsHot
用户回答回答于

可以使用以下命令格式:

python -m unittest mypkg.tests.test_module.TestClass.test_method
# In your case, this would be:
python -m unittest testMyCase.MyCase.testItIsHot

扫码关注云+社区