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

 




原文地址:https://www.cnblogs.com/qingqing74647464/p/11064524.html