zoukankan      html  css  js  c++  java
  • unittest单元测试框架

    unittest

    unittest单元测试框架,主要由四部分组成:测试固件、测试用例、测试套件、测试执行器

        【测试固件】有两部分,执行测试前的准备部分setUp(),测试执行完后的清扫部分tearDown()

        【测试用例】中,包含测试固件(可以不写),具体的测试代码的函数。unittest会自动识别test开头的函数是测试代码,一定要用小写的test开头!

        很多测试用例的集合就是【测试套件】,unittest.TestSuite()初始化一个测试套件Suite实例后使用suite.addTest(类名('test_测试函数'))加载测试方法到测试套件中(最常用的是使用discover()方法可以把指定路径下所有测试方法都加载到测试套件中)

        【测试执行器】test runner用来执行加载的测试用例,可以是单个测试用例,也可以是测试套件

       

        例子一:单个执行测试用例

    import unittest
    
    class lesson(unittest.TestCase):
        def test_case1(self):  # 自动识别小写test作为测试代码
            print("写入test case 1")
    if __name__ == '__main__':
        unittest.main()  # unittest.main()单个执行测试用例
    danyi.py

     

        例子二:执行测试套件

    import unittest
    
     
    
    # 从文件test_case/company/test_getLog加载GetLog类
    
    from test_case.company.test_getLog import GetLog
    
    from test_case.company.test_jiansuo import GetCompanyListR
    
     
    
    # 使用测试套件,添加GetLog类里面的test_getLogN方法
    
    suite = unittest.TestSuite() # 初始化一个测试套件Suite实例
    
    suite.addTest(GetLog('test_getLogN')) # GetLog是类名,test_getLogN是测试函数
    
    suite.addTest(GetCompanyListR('test_ListRetrieval'))
    
     
    
    # 直接在控制台输出
    
    runner = unittest.TextTestRunner()
    
    runner.run(suite)
    taojian.py

        例子三:批量加载的方法执行测试套件

        # 在项目下新建,不要在包里

    import unittest
    
    # 批量加载iscover方法里面有三个参数:case_path:这个是待执行用例的目录-pattern:这个是匹配脚本名称的规则,test*.py意思是匹配test开头的所有脚本-top_level_dir:这个是顶层目录的名称,一般默认等于None就行了
    case_path = r'F:apac-mis-test	est_case'
    discover = unittest.defaultTestLoader.discover(case_path, pattern="test_bianji*.py", top_level_dir=None)
    
    #直接在控制台输出
    runner = unittest.TextTestRunner() #discover加载的用例是list集合,用unittest的TextTestRunner的run去执行。
    runner.run(discover)
    taojian2.py

       

    参考:

    http://www.cnblogs.com/myal/p/9337394.html

    https://www.cnblogs.com/myal/category/1257824.html

       

  • 相关阅读:
    Java学习开篇
    《我的姐姐》
    世上本无事,庸人自扰之
    这48小时
    补觉
    淡定
    es java api 设置index mapping 报错 mapping source must be pairs of fieldnames and properties definition.
    java mongodb groupby分组查询
    linux 常用命令
    mongodb too many users are authenticated
  • 原文地址:https://www.cnblogs.com/lijinglj/p/9641998.html
Copyright © 2011-2022 走看看