利用unittest执行测试用例的3种方式

利用python进行unittest时,测试用例的加载方式有2种:

一种是通过unittest.main()来启动所需测试的测试模块;

另一种是通过添加到testsuite集合中再加载所有的被测试对象,而testsuite里存放的就是所需要的测试用例;

import unittest

suite = unittest.TestSuite()

suite.addTest(CTestCase("TestCase1"))

================

import unittest

suite1 = unittest.TestLoader().loadTestsFromTestCase(TestCase1)

suite = unittest.TestSuite(suite1 )

1、通过unittest.main()来执行测试用例:

import unittest 

class CTestCase(unittest.TestCase):
    def setUp(self):
        #测试前需执行的操作
        .....      
    def tearDown(self):
        #测试用例执行完后所需执行的操作
        .....      
    # 测试用例1
    def testCase1(self):
        #具体的测试脚本
        ......      
    # 测试用例2
    def testCase1(self):
        #具体的测试脚本
        ......       
if __name__ == "__main__":
    unittest.main()

2、通过testsuite来执行测试用例:

import unittest 

class CTestCase(unittest.TestCase):
    def setUp(self):
        #测试前需执行的操作
        .....      
    def tearDown(self):
        #测试用例执行完后所需执行的操作
        .....      
    # 测试用例1
    def testCase1(self):
        #具体的测试脚本
        ......      
    # 测试用例2
    def testCase1(self):
        #具体的测试脚本
        ......       
if __name__ == "__main__":
    #构造测试集
    suite = unittest.TestSuite()
    suite.addTest(CTestCase("testCase1"))
    suite.addTest(CTestCase("testCase2"))
    #执行测试
    runner = unittest.TextTestRunner()
    runner.run(suite)

3、通过testLoader方式执行测试用例:

import unittest 

class TestCase1(unittest.TestCase):
    def setUp(self):
        #测试前需执行的操作
        .....      
    def tearDown(self):
        #测试用例执行完后所需执行的操作
        .....      
    # 测试用例1
    def testCase1(self):
        #具体的测试脚本
        ......      
   
class TestCase1(unittest.TestCase):
    def setUp(self):
        #测试前需执行的操作
        .....      
    def tearDown(self):
        #测试用例执行完后所需执行的操作
        .....      
    # 测试用例2
    def testCase2(self):
        #具体的测试脚本
        ......  
if __name__ == "__main__":
    #此用法可以同时执行多个测试类
    suite1 = unittest.TestLoader().loadTestFromTestCase(TestCase1)
    suite2 = unittest.TestLoader().loadTestFromTestCase(TestCase2)

#构造测试集
    suite = unittest.TestSuite([suite1,suite2])
    runner = unittest.TextTestRunner(verbosity=2)
    runner.run(suite)

下面对unittest模块下的几个成员进行简单的介绍:

TestCase: 所有测试用例的基本类,给一个测试方法的名称,就会返回一个测试用例实例;

TestSuite: 组织测试用例的实例,支持测试用例的添加和删除,最终传递给TextTestRunner进行测试执行;

TextTestRunner: 进行测试用例执行的实例,其中Text的意思是以文本形式显示测试结果。测试的结果会保存包TextTestResult实例中,包含运行了多少测试用例,成功多少,失败多少等信息;

TestLader: 用来加载TestCase到TestSuite中,其中包含loadTestFrom_()方法,用于将测试用例等加载到TestSuite创建实例;

 

posted @ 2021-07-13 19:59  宇宙刘  阅读(488)  评论(0)    收藏  举报