Python 中 unittest 框架加载测试用例的常用方法
2024-09-04 04:33:45
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_danyuan\Python_0715_unittest") # 执行用例
# 1.需要创建执行器对象,使用 unittest 当中的 TextTestRunner(译:泰斯特.泰斯特.软那儿)
one_runner = unittest.TextTestRunner()
# 2.运行套件
one_runner.run(one_suite) # 执行的结果中, 大写的F代码失败的用例
# .代表的是执行成功的用例
*******请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/shouhu/ 谢谢!!*******
最新文章
- git --help出来的命令 + eclipse里用git小记
- T-SQL Recipes之Common Function
- Sublime Text 全程指引
- sorttable
- Android ListView自定义Adapter使用误区
- 【转】从INF文件认识驱动
- grunt项目配置
- python模块之os和os.path模块
- html中可以使用在块级元素<;body>;中的元素
- C#之垃圾回收
- B/S VS C/S
- Redhat
- 基于maven的ssm框架整合
- 城市安全风险管理项目Postmortem结果
- PLSQL脚本中自定义异常的简单使用
- JDBC连接MySQL与Oracle
- 基于Centos搭建Django 环境搭建
- Nginx 安装及配置
- 实现数组(java)
- 【Spark调优】:RDD持久化策略