Python自动化之unittest框架

发表于:2019-4-11 10:47

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:无涯WuYa    来源:testwo

  在软件架构的层面来讲,测试最重要的步骤之一是发生在软件开发的时候。而软件最终的功能是软件实现细节实现的产物。在金字塔模型的测试理论体系中,单元测试是最底层的测试,而且是测试覆盖最多的层面。在自动化所有的测试体系中,不管是单元测试,还是接口测试以及基于UI的自动化测试,都需要单元测试框架,在Python语言中,最常用的单元测试框架是unittest和pytest,今晚主要来介绍unittest单元测试框架,后期逐步的介绍pytest测试框架在自动化测试中的应用。
  在Python语言中,标准库unittest模块提供了对单元测试的支持,unititest模块的主要部分,如下图所示。
  在如上图中,可以看到unittest模块主要模块是测试用例,测试固件,测试套件,测试执行,测试报告,以及测试断言里面提供的方法。下面就该部分详细的做下解释:
  测试用例:unittest模块提供了TestCase类,类TestCase为测试用例提供了支持。通过继承TestCase来设置一个新的测试类,和设置测试方法,每个测试方法通过实际响应结果与预期结果对比来实现单元测试。
  测试固件:测试固件SetUp()和TearDown()表示一个或者多个测试以及清理工作所需要的所有设置和准备。如UI自动化测试中初始化打开浏览器和关闭浏览器,数据库测试中连接数据库与关闭数据库。
  测试套件:测试套件顾名思义是测试用例的集合。当然一个测试套件也可以保护其他的测试套件,测试套件允许对在软件系统上执行功能相似的测试的测试用例进行分组。在unittest模块中通过TestSuite类提供对测试套件的支持。
  测试执行:测试执行是管理和运行测试用例的对象,并向测试人员提供结果。一般性的可以在IDE中直接执行,或者在命令行中执行。
  测试结果:测试结果类管理着测试结果的输出。在测试结果中,保存了成功的,失败的,和错误的,以及执行的测试用例的个数。在unittest模块中,由TestResult类来实现,它具有一个具体的,默认的TextTestResult 类实现。
  下面结合一个简单的函数测试来说明unittest模块来自动化测试中的应用,源码为:
  执行如上代码后,执行的结果如下图所示。

     上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号