zoukankan      html  css  js  c++  java
  • python中的unittest库

    1.unittest框架是python自动化测试的入门框架,它是python自带的一个模块

    包含以下几个子模块

    测试用例:TestCase

    测试集:TestSuite

    加载用例:TestLoader

    执行用例:TextTextRunner

    2.用法:

    2.1写用例时,先导入unittest模块

    2.2 新建测试方法(方法名要以Test开头)时,需要继承(unittest.TestCase)

    import unittest
    class TestLogin(unnittest.TestCase):
      pass

    2.3测试方法中,可以包含前置后置,前置是setUp,后置是tearDown

    def setUp(self):
        print("正在准备测试数据")
        
    def tearDown(self):
        print("测试用例执行完毕。")
    

    2.4写完用例后,运行用例,运行前需要加载用例,这时需要用到加载器: unittest.TestLoader()

    testloader = unittest.TestLoader()
    

    2.5查找用例,先写用例路径以及报告路径、命名

    dir_path = os.path.dirname(os.path.abspath(__file__))#os.path.split(os.path.split(os.path.abspath(__file__))[0])[0]
    case_path = os.path.join(dir_path, 'test_cases')
    report_path=os.path.join(dir_path,'kuangjia/report')

    ts = str(int(time.time()))
    file_name = 'test_result_{}.html'.format(ts)
    file_path = os.path.join(report_path, file_name)

    2.6 加载用例,有几种方法,一种是:discoer,将用例全部都加载出来

    suite = testloader.discover(case_path)

    第二种是:loadTestsFromModule,加载模块中的用例

    suite = testloader.loadTestsFromModule(test_login)

    第三种是:loadTestsFromTestCase,加载指定的测试类

    suite = testloader.loadTestsFromTestCase(TestLogin)
    

      

    第四种是:loadTestsFromName,加载测试函数

    suite = testloader.loadTestsFromName()
    

    2.7将加载到的用例,合并添加到一个总的测试套件套件

    suite_total = unittest.TestSuite()
    suite_total.addTests(suite)
    

      

    2.8 运行用例,runner=unittest.TextTestRunner()但是工作中不用,用HTMLTestRunner,需要复制这个文件到项目目录下

    # TODO: 一定要使用二进制的方式代开
    with open(file_path, 'wb') as f:
        # 使用 HTMLTestRunner
        runner = HTMLTestRunner(f,
                                title="史上最帅的测试报告",
                                description='那是真的帅',
                                tester='最帅的小马哥')
        runner.run(suite_total)
    

      

    2.6到2.7的简化版本:

    testloader=unittest.TestLoader()#初始化加载器
    suite=unittest.TestSuite()#初始化空测试套件
    suite.addTests(testloader.loadTestsFromModule(test_case_01))#往里面加用例
    suite.addTests(testloader.loadTestsFromModule(test_case_02))
    
    with open(file_path, 'wb') as f:
        # 使用 HTMLTestRunner
        runner = HTMLTestRunner(f,
                                title="前程贷接口测试报告",
                                description='前程贷接口测试报告',
                                tester='最帅的小马哥')
        runner.run(suite)
    

      

    ------------恢复内容开始------------

    1.unittest框架是python自动化测试的入门框架,它是python自带的一个模块

    包含以下几个子模块

    测试用例:TestCase

    测试集:TestSuite

    加载用例:TestLoader

    执行用例:TextTextRunner

    2.用法:

    2.1写用例时,先导入unittest模块

    2.2 新建测试方法(方法名要以Test开头)时,需要继承(unittest.TestCase)

    import unittest
    class TestLogin(unnittest.TestCase):
      pass

    2.3测试方法中,可以包含前置后置,前置是setUp,后置是tearDown

    def setUp(self):
        print("正在准备测试数据")
        
    def tearDown(self):
        print("测试用例执行完毕。")
    

    2.4写完用例后,运行用例,运行前需要加载用例,这时需要用到加载器: unittest.TestLoader()

    testloader = unittest.TestLoader()
    

    2.5查找用例,先写用例路径以及报告路径、命名

    dir_path = os.path.dirname(os.path.abspath(__file__))#os.path.split(os.path.split(os.path.abspath(__file__))[0])[0]
    case_path = os.path.join(dir_path, 'test_cases')
    report_path=os.path.join(dir_path,'kuangjia/report')

    ts = str(int(time.time()))
    file_name = 'test_result_{}.html'.format(ts)
    file_path = os.path.join(report_path, file_name)

    2.6 加载用例,有几种方法,一种是:discoer,将用例全部都加载出来

    suite = testloader.discover(case_path)

    第二种是:loadTestsFromModule,加载模块中的用例

    suite = testloader.loadTestsFromModule(test_login)

    第三种是:loadTestsFromTestCase,加载指定的测试类

    suite = testloader.loadTestsFromTestCase(TestLogin)
    

      

    第四种是:loadTestsFromName,加载测试函数

    suite = testloader.loadTestsFromName()
    

    2.7将加载到的用例,合并添加到一个总的测试套件套件

    loader=unittest.TestLoader()
    
    
    suite_total = unittest.TestSuite()
    suite_total.addTests(loader.loadTestsFromModule())
    

      

    2.8 运行用例,runner=unittest.TextTestRunner()但是工作中不用,用HTMLTestRunner,需要复制这个文件到项目目录下

    # TODO: 一定要使用二进制的方式代开
    with open(file_path, 'wb') as f:
        # 使用 HTMLTestRunner
        runner = HTMLTestRunner(f,
                                title="史上最帅的测试报告",
                                description='那是真的帅',
                                tester='最帅的小马哥')
        runner.run(suite_total)
    

      

    2.6到2.7的简化版本:

    #按模块发现用例
    suite=loader.loadTestsFromModule(test_register)
    suite_total=unittest.TestSuite()
    suite_total.addTests(suite)
    

      

    with open(file_path, 'wb') as f:
        # 使用 HTMLTestRunner
        runner = HTMLTestRunner(f,
                                title="前程贷接口测试报告",
                                description='前程贷接口测试报告',
                                tester='最帅的小马哥')
        runner.run(suite)
    

      

  • 相关阅读:
    让windows cmd也用上linux命令
    数据库工具toad与plsql
    Oracle表&DATA复制
    主流WEB开发语言简单对比
    游戏中的碰撞检测
    LRU算法总结及其C算法实现
    MTU
    多款as3游戏框架
    请问2.3e+71,是不是表示23后面有70个0?
    希望OFFICE有一个小阳台,在阳光斜照的下午,开发人员能喝着茶,在蓝色的天空下讨论问题,这样思绪更为清楚
  • 原文地址:https://www.cnblogs.com/hherbk/p/12678397.html
Copyright © 2011-2022 走看看