python unittest 基本用法

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

[python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取](#python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取)

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格式的报告:

尾语

最后感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇

相关推荐
曲幽几秒前
FastAPI + Celery 实战:异步任务的坑与解法,我帮你踩了一遍
redis·python·fastapi·web·async·celery·background·task·queue
意法半导体STM324 分钟前
【官方原创】STM32H7双核芯片通过 STlink连接失败问题分析 LAT1654
开发语言·前端·javascript·stm32·单片机·嵌入式硬件
深蓝海拓8 分钟前
使用@property将类方法包装为属性
开发语言·python
xiaoye-duck21 分钟前
【C++:unordered_set和unordered_map】 深度解析:使用、差异、性能与场景选择
开发语言·c++·stl
zjjsctcdl36 分钟前
java与mysql连接 使用mysql-connector-java连接msql
java·开发语言·mysql
格林威39 分钟前
Baumer相机锂电池极片裁切毛刺检测:防止内部短路的 5 个核心方法,附 OpenCV+Halcon 实战代码!
开发语言·人工智能·数码相机·opencv·计算机视觉·c#·视觉检测
顶点多余1 小时前
线程互斥+线程同步+生产消费模型
java·linux·开发语言·c++
Albert Edison1 小时前
【ProtoBuf 语法详解】更新消息|保留字段|未知字段
开发语言·c++·protobuf
feifeigo1231 小时前
近场声全息(NAH)数据与MATLAB实现
开发语言·matlab
fie88891 小时前
基于MATLAB的非线性模型预测控制(NMPC)在CSRT系统中的应用
开发语言·matlab