单元测试之路(二)
程序员文章站
2022-03-03 23:51:37
...
引入测试集,TestSuite,用于存放测试用例的容器
TestSuite方法:
init(self,tests=()) 初始化,直接添加测试用例
addTest(self,test)添加一个测试用例
addTest(self,tests)添加多个测试用例
TextTestRunner执行测试集
countTestCases()统计有多少个测试用例
1.使用TestSuite的addTest()添加单个用例
1.1编写测试用例
import unittest
from UnitTest.test import Count
class TestCount(unittest.TestCase):
def setUp(self):
pass
def tearDown(self):
pass
def test_add(self):
print(Count.add(1, 3, 6) == 10)
def test_sub(self):
print(Count.sub(1, 3, 6) == -8)
1.2定义测试集,并使用addTest添加测试集
def get_suite():
count_add = TestCount('test_add') #创建实例
count_sub = TestCount('test_sub')
suite = unittest.TestSuite() #创建一个测试集
suite.addTest(count_add) #添加一个测试用例
suite.addTest(count_sub)
return suite
1.3执行测试集
if __name__ == '__main__':
s = get_suite() #实例化测试集
runner = unittest.TextTestRunner() #创建一个实例
print(s.countTestCases()) #统计有多少测试用例
runner.run(s)
2.使用TestSuite中addTests添加测试集
2.1多个用例的测试集使用map()函数
def get_suite(): #测试集
case_list = ['test_add','test_sub'] #创建一个测试列
counts = map(TestCount,case_list) #创建多个实例
suite = unittest.TestSuite() #创建一个测试集
suite.addTests(counts) #添加测试用例集
return suite
3.使用TestSuite中__init__()添加测试用例
3.1新增一个TestSuite类
class counttestsuite(unittest.TestSuite):
def __init__(self):
case_list = ['test_add', 'test_sub']
unittest.TestSuite.__init__(self,map(TestCount,case_list))
3.2执行测试用例集
if __name__ == '__main__':
s = counttestsuite()
runner = unittest.TextTestRunner() #创建一个实例
runner.run(s)