zoukankan      html  css  js  c++  java
  • Python 中 unittest 框架加载测试用例的常用方法

      unittest 当中为我们提供了许多加载用例的方法,这里说下常用的两种方法。。。推荐使用第二种

    第一种加载测试用例的方法:使用加载器加载两个模块

    需要把所有的模块加载到套件中

    那么就可以自动的运行所有的模块

    执行顺序是按照导入测试用例的先后来执行的,先执行 num_multi,在执行 num_add

    import unittest
    
    # 导入写好的测试用例,可以使用 as 重新命名更加简短方便
    from Python_0715_unittest import lemon_06_unittest_two_num_multi as num_multi
    from Python_0715_unittest import lemon_07_unittest_two_num_add as num_add
    
    # 1. 创建测试套件,使用unittest当中的TestSuite (译:泰斯特速特)
    one_suite = unittest.TestSuite()
    
    # 2.通过模块来批量加载测试用例
    # 定义测试加载器对象,使用 unittest 当中的 TestLoader (译:泰斯特娄则儿)
    one_loader = unittest.TestLoader()
    
    # 使用加载器中 loadTestsFromModule(译:楼的.泰斯特.福软木魔豆)从模块当中加载测试用例
    # 然后使用 addTest 把用例放到 one_suite 套件当中
    one_suite.addTest(one_loader.loadTestsFromModule(num_multi))
    one_suite.addTest(one_loader.loadTestsFromModule(num_add))
    
    # 3.执行用例
    # 需要创建执行器对象,使用 unittest 当中的 TextTestRunner(译:泰斯特.泰斯特。软那儿)
    one_runner = unittest.TextTestRunner()
    # 使用执行器运行套件
    one_runner.run(one_suite)
    
    # 执行的结果中, 大写的F代码失败的用例
    # .代表的是执行成功的用例,F代表失败

     加载测试用例的四种方法

    一:unittest.TestLoader().loadTestsFromTestCase(类名)
    一:unittest.TestLoader().loadTestsFromMoudule(模块名) 用的最广
    三:unittest.TestLoader().loadTestsFromName(方法名)
    四:unittest.TestLoader().loadTestsFromNames(方法名,复数形式)

    第二种:自动识别加载测试用例的方法:discover (译:迪斯卡瓦)方法

    import unittest
    
    
    # 先加载测试用例
    # 使用unittest中defaultTestLoader(译:滴fao的.泰斯特.楼泽)中discover(迪斯卡瓦)方法
    # 第一种,使用 . 代表当前py文件所在的路径,自动加载以 test 开头的 py 文件模块
    # one_suite = unittest.defaultTestLoader.discover(".")    # .代表当前py文件所在的路径
    
    # 第二种,使用绝对路径加载,使用 r 进行转码
    one_suite = unittest.defaultTestLoader.discover(r"D:zj_danyuanPython_0715_unittest")
    
    # 执行用例
    # 1.需要创建执行器对象,使用 unittest 当中的 TextTestRunner(译:泰斯特.泰斯特.软那儿)
    one_runner = unittest.TextTestRunner()
    # 2.运行套件
    one_runner.run(one_suite)
    
    # 执行的结果中, 大写的F代码失败的用例
    # .代表的是执行成功的用例

    *******请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/shouhu/   谢谢!!******* 

  • 相关阅读:
    网络七层参考模型(OSI)
    TCP/IP体系结构
    VC调用外部程序接口
    处事八条
    HFC网络
    sql server 2005中的分区函数用法(partition by 字段) 
    Java实现的几个常用排序算法详细解读
    Java中读取字符文件类FileReader
    如何在Java中进行图片剪裁
    从零开始构建HTML 5 Web页面
  • 原文地址:https://www.cnblogs.com/shouhu/p/12155733.html
Copyright © 2011-2022 走看看