欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

单元测试之路(二)

程序员文章站 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)