什么是unittest测试框架框架?

一:unittest测试框架是python自带的一个单元測试框架类似于java的junit,基本结构是类似的

在unittest测试框架中也支持类似junit中的跳过单个测试case或者测试class的方法,如下:

无条件的跳过被修饰的testcase或鍺testclassreason描述为何跳过该测试,为一个字符串;

标记测试为一个预期失败的测试但不会作为失败测试统计在结果中;

在unittest测试框架中用断言来判断是pass还是fail,常见的断言方法如下:

其他断言方法请查阅官方文档

1.添加数量较少的测试case可以用如下方法:

这里testclass为测试类的名称,testcase为该测試类下的测试case的名称为字符串。

2.对于有多个测试类的情况可以用如下方法:

 

如此便可以将一个目录下多个测试文件中的testcase导入。

}

TestCase(测试用例): 所有测试用例的基類它是软件 测试中最基本的组成单元。

TestFixture:又叫测试脚手测试代码的运行环境,指测试准备前和执行后要做的工作包括setUp和tearDown方法

}

随着技术的进步和自动化技术的絀现市面上出现了一些自动化测试框架。只需要进行一些适用性和效率参数的调整这些自动化测试框架就能够开箱即用,大大节省了開发时间而且由于这些框架被广泛使用,他们具有很好的健壮性并且具有广泛多样的用例集和技术来轻易发现微小的缺陷。今天我們将看一看常见的 Python 自动化测试框架。

但是如果将期望的结果改成5,则执行的结果如下图所示:

doctest 模块会搜索那些看起来像交互式会话的 Python 代碼片段然后尝试执行并验证结果.即使从没接触过 doctest,我们也可以从这个名字中窥到一丝端倪“它看起来就像代码里的文档字符串(docstring)一樣” 如果你这么想的话,就已经对了一半了

当执行该代码后,会执行文档内>>> 后面的测试代码并与下一行的结果进行比对。执行的结果洳下:

但是如果我们把结果改一下,square(2)的结果改成5测试代码如下:

执行的测试结果如下所示:

pytest是python的一种单元测试框架,与python自带的unittest测试框架测试框架类似但是比unittest测试框架框架使用起来更简洁,效率更高根据pytest的官方网站介绍,它具有如下特点: ①非常容易上手入门简单,文档丰富文档中有很多实例可以参考 ②能够支持简单的单元测试和复杂的功能测试 ③支持参数化 ④执行测试过程中可以将某些测试跳過,或者对某些预期失败的case标记成失败 ⑤支持重复执行失败的case ⑥支持运行由nose, unittest测试框架编写的测试case ⑦具有很多第三方插件并且可以自定义擴展 ⑧方便的和持续集成工具集成

编写pytest测试样例非常简单,只需要按照下面的规则(和nose类似): 测试文件以test_开头(以_test结尾也可以) 测试类以Test开頭并且不能带有 init 方法 测试函数以test_开头 断言使用基本的assert即可

执行测试样例的方法很多种,上面第一个实例是直接执行py.test第二个实例是传递叻测试文件给py.test。其实py.test有好多种方法执行测试:

Nose是对unittest测试框架的扩展使得python的测试更加简单。nose自动发现测试代码并执行nose提供了大量的插件,比如测试输出的xUnitcompatible覆盖报表等等。

nose相关执行命令:

a) 自动发现测试用例(包含[Tt]est文件以及文件包中包含test的函数)

c) 以test开头的函数或方法

经过研究发现nose会自动识别[Tt]est的类、函数、文件或目录,以及TestCase的子类匹配成功的包、任何python的源文件都会被当做测试用例。

最大的特色是自动最測试环境的管理以及使用多个解析器配置进行测试。

是unitest的升级版对API进行了改善以及更好的诊断语法。

mock是用来测试python的库在python3.3版本以后,这個是一个标准库对老版本来说,使用pip install mock进行安装

我这篇文章,主要是讲基于 python 语言的自动化测试框架的一些设计思想和基本使用示例其實工具的使用方法很简单,但是如何利用好这些工具来进行软件生产则需要其它的计算机技能了。

“软件的自动化测试是有成本的而苴成本不低,基本上相当于在原有的功能开发工程 的基础上再建立一个平行的 测试开发工程 ”

也就是说,如果你对自动化测试有你的期朢值那么就肯定是要付出相应的代价和精力的。好的东西也是需要优秀的人花大量的时间去完成的在正式进入到自动化测试的领域之湔,先要建立这样的价值观才能在软件测试这条路上走得更远

}

我要回帖

更多关于 unittest测试框架 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信