python中unittest框架和pytest框架区别

unittest框架和pytest框架对比

类型 unittest框架 pytest框架
安装 标准库,无需额外安装 第三方单元测试库,需要安装
用例编写 测试类必须要继承 unittest.TestCase 测试类命名以"Test"开头,无需继承,用例可以是函数,也可以是类,测试方法和测试文件名必须以"test_"开头或者"_test"结尾
用例的前置和后置 提供了setUp/tearDown,每个用例运行前、结束后运行一次。setUpClass和tearDownClass,用例执行前、结束后,只运行一次 在函数前使用@pytest.fixture()装饰器,fixture使用范围可以是:function(函数级别)、class、module(模块级别)、package(包级别)、多个测试类可以共用一个session(定义一个方法-使用yield分割,yield前面的代码是前置,yield后面的代码则是后置)
断言 assertEqual、assertIn、assertTrue、assertFalse等 直接在assert 后面接表达式
测试报告 使用HTMLTestRunnerNew库 pytest-HTML、allure报告插件
失败重跑 不支持 通过插件rerunfailures支持重运行机制
参数化 使用ddt库 直接使用@pytest.mark.parametrize装饰器
收集用例 使用TestLoader类+TestSuite类 根据test模块自动收集用例
筛选用例 默认执行全部,可以筛选类名、函数名、模块名执行 通过@pytest.mark标记测试用例,执行前加-m即可运行标记的用例
插件 很少 比unittest插件相对多很多
相关推荐
上课耽误学习1 分钟前
WPS+Python爬取百度之星排名
python·百度·wps
一起学习计算机2 分钟前
[附源码]基于Flask的演唱会购票系统
后端·python·flask
吃饱很舒服3 分钟前
kotlin distinctBy 使用
android·java·开发语言·前端·kotlin
Cindy辛蒂4 分钟前
python办公自动化之分析日志文件
开发语言·python
优秀的颜22 分钟前
RabbitMQ(集群相关部署)
开发语言·后端
天若有情6731 小时前
【澳门风云】用C开发一个模拟一个简单的扑克牌比大小的游戏
c语言·开发语言·游戏
镜花照无眠1 小时前
python破解字母已知但大小写未知密码
开发语言·python
chenhua10086111 小时前
artts升级版本后常见的编译错误(定期更新......)
开发语言·javascript
程序无涯海1 小时前
Python爬虫教程第1篇-基础知识
开发语言·爬虫·python·网络爬虫