Python测试框架之unittest和pytest 的区别
创始人
2024-04-13 00:16:26
0

一、Unittest

Unittest是Python标准库中自带的单元测试框架,Unittest有时候也被称为PyUnit,就像JUnit是Java语言的标准单元测试框架一样,Unittest则是Python语言的标准单元测试框架。

Unittest支持自动化测试,测试用例的初始化、关闭和测试用例的聚合等功能,它有一个很重要的特性:它是通过类(class)的方式,将测试用例组织在一起。

示例:
在这里插入图片描述
执行结果:
在这里插入图片描述
注:unittest有一个关联模块unittest2,但unittest2仅适用于Python 2.4-2.6。这是由于从Python 2.7开始,unittest增加一些新的特性。为了在老的版本中支持这些特性,所以提供了unittest2这个库。但对于Python 2.7及之后的版本,unittest是唯一的。本次示例中使用的为python2.7。

二、Pytest

Pytest是Python的另一个第三方单元测试库。它的目的是让单元测试变得更容易,并且也能扩展到支持应用层面复杂的功能测试。

pytest的特性有:

  • 支持用简单的assert语句实现丰富的断言,无需复杂的self.assert*函数
  • 自动识别测试模块和测试函数
  • 模块化夹具用以管理各类测试资源
  • 对 unittest 完全兼容,对 nose基本兼容
  • 支持Python3和PyPy3
  • 丰富的插件生态,已有300多个各式各样的插件,社区繁荣

示例:
在这里插入图片描述
执行结果:
在这里插入图片描述

三、Unittest vs Pytes

在这里插入图片描述

总结:

总体来说,unittest用例格式复杂,兼容性无,插件少,二次开发方便。pytest更加方便快捷,用例格式简单,可以执行unittest风格的测试用例,无须修改unittest用例的任何代码,有较好的兼容性。pytest插件丰富,比如flask插件,可用于用例出错重跑,还有xdist插件,可用于设备并行执行,效率更高。

最后为方便大家学习测试,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。
在这里插入图片描述
包括,软件学习路线图,50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2021软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助……有需要的小伙伴可以下方加群免费领取!

相关内容

热门资讯

高科技产业商业秘密保护的挑战与... 一、高科技产业商业秘密纠纷频发 智能驾驶、芯片、动力电池等高科技产业,商业秘密纠纷频发。2025年7...
百利科技(603959)披露公... 截至2025年12月31日收盘,百利科技(603959)报收于5.74元,较前一交易日下跌1.88%...
2025年山西破获经济犯罪案件... 中新网太原12月31日电 (记者 李庭耀)记者31日从山西省公安厅获悉,2025年,山西警方累计破获...
澄星股份:为员工提供符合国家法... 有投资者在互动平台向澄星股份提问:“您好,请问公司是否针对员工生育或育儿设有相关的福利或激励政策? ...
成都市新都区举行劳动纠纷处置比... 近日,2025年“新工司南”主题交流活动暨成都市新都区劳动纠纷处置比武竞赛在四川科伦药业股份有限公司...
2700余人“虚假住院”,成都... 记者12月31日从成都市公安局召开的2025年“向人民报告”刑侦专场新闻通气会上获悉,成都公安成功打...
首钢自动化申请法律文本审核方法... 国家知识产权局信息显示,北京首钢自动化信息技术有限公司申请一项名为“法律文本审核方法、装置和介质”的...
宜宾纸业(600793)披露全... 截至2025年12月31日收盘,宜宾纸业(600793)报收于21.1元,较前一交易日下跌3.39%...
激发行业协会商会发展活力,上海... 行业协会商会是推动经济社会高质量发展的重要力量。 近日表决通过的《上海市行业协会商会条例》(下称《条...
闪电律解|“退货羽绒服口袋现机... 齐鲁网·闪电新闻12月31日讯 近日,一则“退货羽绒服口袋现机票”的视频,引发网友热议。原来是供货厂...