自动化测试之if __name__ == '__main__'未运行
添加Count类
calculator.py:
class Count: def __init__(self,a,b): self.a = int(a) self.b = int(b) def add(self): return self.a + self.b 添加TestCase01类 testcase1.py:
from calculator import Count import unittest class TestCase01(unittest.TestCase): def setUp(self): print("test start!") def test_add1(self): f = Count(2, 3) self.assertEqual(f.add(), 5) def test_add2(self): f = Count(21, 32) self.assertEqual(f.add(), 53) def test_add3(self): f = Count(31, 32) self.assertEqual(f.add(), 63) def tearDown(self): print("test end!") if __name__ == '__main__': # unittest.main() # 构造测试集 suite = unittest.TestSuite() suite.addTest(TestCase01("test_add2")) # suite.addTest(TestCase01("test_add")) # 执行测试 runner = unittest.TextTestRunner() runner.run(suite) 右键点击"Run testcase1" 控制台打印了,通过3个用例,并未执行测试集中的指定用例,也就是说
if __name__ == '__main__'未运行 原因在于: 运行方式不正确
(1)进入edit configurations
(2)可以看到,有两种Python和Python tests
前者:运行 if __name__ == '__main__'
后者:不会运行unittest类型
(3)将需要运行 if __name__ == '__main__'的py文件,添加到python中,保存应用,再执行便可以看到控制台打印了日志,仅运行了指定的测试集