网站首页 > 技术文章 正文
unittest的使用分为6个步骤:
1.导入unittest模块
2.定义测试类,父类为unittest.TestCase
可继承unittest.TestCase的方法,如setUp和tearDown方法,不过此方法可以在子类重写,覆盖父类方法。
可继承unittest.TestCase的各种断言方法。
3.定义setUp()方法用于测试用例执行前的初始化工作。
4.定义测试用例,以“test_”开头命名的方法
可使用unittest.TestCase类下面的各种断言方法用于对测试结果的判断
5.定义tearDown()方法用于测试用例执行之后的善后工作。
步骤1-5 代码如下:
6.执行测试用例,有三种方案:
方案一:
unittest.main()
unittest.main()方法会搜索该模块下所有以test开头的测试用例方法,并自动执行它们。
方案二:
1、先构造测试集:
① 实例化测试套件
suite = unittest.TestSuite()
② 测试用例加载到测试套件中
执行顺序是按照加载顺序:
suite.addTest(Test('test_case2'))
suite.addTest(Test('test_case1'))
先执行test_case2,再执行test_case1
2、执行测试用例
① 实例化TextTestRunner类
runner = unittest.TextTestRunner()
② 使用run()方法运行测试套件(即运行测试套件中的所有用例)
runner.run(suite)
方案三:
1、构造测试集(简化了方案二中先要创建测试套件然后再依次加载测试用例)
执行顺序同方案一:执行顺序是命名顺序:先执行test_case1,再执行test_case2
test_dir:用例所在目录
discover=unittest.defaultTestLoader.discover(test_dir, pattern='test_*.py')
2、执行测试用例
实例化TextTestRunner类
runner = unittest.TextTestRunner()
使用run()方法运行测试套件(即运行测试套件中的所有用例)
runner.run(discover)
方案1-3代码如下:
补充:
HTMLTestRunner +unittest生成测试报告
项目目录:
1、获取所有测试用例:
2、生成html格式的测试报告,并保存到report文件夹下:
3、执行测试用例:
4、打开report文件夹下生成的html格式的报告:
最后,小编想说:我是一名python开发工程师,整理了一套最新的python系统学习教程,想要这些资料的可以关注私信小编“01”即可,希望能对你有所帮助
猜你喜欢
- 2025-07-27 Python 3.14 新特性盘点,更新了些什么?
- 2025-07-27 Python单元测试(pycharm单元测试教程)
- 2025-07-27 Python学不会来打我(8)字符串string类型深度解析
- 2025-07-27 Python 中 字符串处理的高效方法,不允许你还不知道
- 2025-07-27 Python-分支结构(python分支结构教学设计)
- 2025-07-27 python学习教程-第六节内容(python基础教学视频)
- 2025-07-27 Python自动化办公应用学习笔记16——分支结构
- 2025-05-05 使用pytest进行单元测试(pytest详解)
- 2025-05-05 用扣子开发一个图灵测试游戏(用扣子开发一个图灵测试游戏的软件)
- 2025-05-05 Python进阶-day19: 测试与调试(python测验)
- 10-02基于深度学习的铸件缺陷检测_如何控制和检测铸件缺陷?有缺陷铸件如何处置?
- 10-02Linux Mint 22.1 Cinnamon Edition 搭建深度学习环境
- 10-02AWD-LSTM语言模型是如何实现的_lstm语言模型
- 10-02NVIDIA Jetson Nano 2GB 系列文章(53):TAO模型训练工具简介
- 10-02使用ONNX和Torchscript加快推理速度的测试
- 10-02tensorflow GPU环境安装踩坑日记_tensorflow配置gpu环境
- 10-02Keye-VL-1.5-8B 快手 Keye-VL— 腾讯云两卡 32GB GPU保姆级部署指南
- 10-02Gateway_gateways
- 最近发表
-
- 基于深度学习的铸件缺陷检测_如何控制和检测铸件缺陷?有缺陷铸件如何处置?
- Linux Mint 22.1 Cinnamon Edition 搭建深度学习环境
- AWD-LSTM语言模型是如何实现的_lstm语言模型
- NVIDIA Jetson Nano 2GB 系列文章(53):TAO模型训练工具简介
- 使用ONNX和Torchscript加快推理速度的测试
- tensorflow GPU环境安装踩坑日记_tensorflow配置gpu环境
- Keye-VL-1.5-8B 快手 Keye-VL— 腾讯云两卡 32GB GPU保姆级部署指南
- Gateway_gateways
- Coze开源本地部署教程_开源canopen
- 扣子开源本地部署教程 丨Coze智能体小白喂饭级指南
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)