在我们的团队中,我们定义大多数测试用例是这样的:
一个“框架”类ourtcfw.py:
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(),我希望能够这样做:
testItIsHot()
$ python testMyCase.py testItIsHot
并且只 运行unittest过 __testItIsHot()
unittest
我怎样才能做到这一点?
我试图重写这if __name__ == "__main__":部分,但由于我是 Python 新手,所以我感到迷茫,并不断抨击除方法之外的所有内容。
if __name__ == "__main__":
这可以按照您的建议工作-您还必须指定类名:
python testMyCase.py MyCase.testItIsHot