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/   谢谢!!******* 

  • 相关阅读:
    看我如何破解一台自动售货机
    充满未来和科幻的界面设计FUI在国内还没有起步在国外早起相当成熟
    libuv之介绍
    纯净版xp系统在局域网共享需要密码如何解决
    xp局域网共享设置
    Qt5设置应用程序图标
    我们为什么以及是如何从 Angular.js 迁移到 Vue.js?
    [转]聊聊技术选型
    VueJS如何引入css或者less文件的一些坑
    tomcat启动不成功(点击startup.bat闪退)的解决办法
  • 原文地址:https://www.cnblogs.com/shouhu/p/12155733.html
Copyright © 2011-2022 走看看