百科狗-知识改变命运!
--

Python的第三方单元测试框架

百变鹏仔1年前 (2023-11-21)阅读数 43#技术干货
文章标签测试

Nose是Python的一个第三方单元测试框架,定位是“带插件的Unittest”,只要名称匹配一定的条件,都会被自动识别为测试用例。为了兼容Unittest,所有的基于Unitest编写的测试用例,也会被Nose自动识别。

比如说,不仅用例的编写方式可以继承Unittest.TestCase的测试类,还可以编写成没有继承的测试类,同时Nose也支持定义函数来作为测试,而且支持Unittest所支持的用例发现和执行能力。

更不要提Nose的继任者Nose2。

Nose2的主要目的是扩展Python的标准单元测试库Unittest,让编写和运行测试用例变得更容易。提供丰富的插件,例如测试用例加载器、覆盖度报告生成器、并行测试等内置插件和第三方插件,让单元测试变得更加完善。

它们有很多相同点,比如都兼容Unittest,支持使用函数作为测试用例、支持子测试、拥有插件体系等等。但也有很多不同点,比如Nose2不支持Nose所支持的所有测试用例项目结构、不支持包级别的测试前置和清理函数等等。

但Nose和Nose2在用例编写、测试夹具、子测试上做出改进,已经能让日常用例编写工作变得更加容易和灵活。同时又引入插件体系,进一步将单元测试框架的能力提升了一个大大的台阶,这让很多在基础测试功能之上的高阶功能的实现和共享成为了可能,因此众多开发者对它们情有独钟。

Python的第三方单元测试框架

学习建议

综上对比和归纳总结,Unittest做为一个Python标准库,和Python版本绑定,非常稳定,不用担心兼容性的问题。

如果要学习一个单元测试框架,建议从Unittest开始,因为你可以接触到loader、suite、runner这样的组件,对理解测试框架更有帮助,学习好Unittest以后,再学习Nose2或者Pytest这样更高级的框架,能有效提升编程效率。

很多同学在网上看到一些说Unittest过时或Unittest不高级的言论就开始批判,显然是不对的。Unittest是其他Python单元测试框架的基础,没学好Unittest,其他的框架势必也学不好。

以上内容为大家介绍了Python的第三方单元测试框架,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:开发教育。http://www.baikegou.com/

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)