自动化测试之if __name__ == '__main__'未运行
自动化测试之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中,保存应用,再执行便可以看到控制台打印了日志,仅运行了指定的测试集