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

python标准库中自带的单元测试框架

梵高1年前 (2023-11-20)阅读数 11#技术干货
文章标签测试


Unittest是Python标准库中自带的单元测试框架,支持自动化测试,测试用例的初始化和关闭测试用例的聚合等功能。

有一些类似于Java中的Junit单元测试框架,其模块提供了许多类和方法处理各种测试工作,能够完善结合Selenium、Appium、Request等实现UI自动化与接口自动化。

而Unittest的核心组件则是TestCase(测试用例)、TestFixture(测试固件)、TestSuite(测试套件)、和TestRunner(测试运行器)。

其中,一个完整的测试流程就是一个测试用例,通过一些特定的输入得到相应,并对结果进行校验的过程,所有的用例都是直接继承于Unittest.TestCase类,TestCase是最小的测试单元,具有独立性。

测试固件就是在执行测试之前的准备工作,比如数据清理、创建临时数据库、目录、以及开启某些服务进程。毕竟我们在编写测试代码时,总会有一些重复的代码部分,就好比,当我们测试一个网站的登录操作时,简单分为三个用例:账号和密码都正确,账号正确密码错误,账号错误密码正确,这三种情况在执行用例时都需要首先访问系统地址,再输入账号和密码,点击登录操作,完成之后浏览器执行关闭操作,我们就可以通过setUp()将访问地址作为前置条件,通过tearDown()将关闭浏览器作为后置条件,测试固件就是整合了代码的公共部分。

python标准库中自带的单元测试框架

测试套件就是把多个测试用例集合到一起。

而测试运行器则是提供测试用例运行环境,通过run()方法来执行测试用例,并在执行完成后将测试结果输出。

了解了这几个基本概念之后,再理解起来Unittest就不难了。

学习建议

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

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

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

以上内容为大家介绍Python标准库中自带的单元测试框架,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注开发教育。http://www.baikegou.com/

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

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

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

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