软件测试的主要类别(特斯汀软件测试)
软件测试的主要类别(特斯汀软件测试)Pytest的特性有:Pytest属于Python的第三方测试框架。其主要目的是让单元测试变得容易。并且支持复杂的应用层面功能测试。执行结果:这里有一点需要注意的是,unittest有一个关联模块unittest2,然而unittest2近使用于Python 2.4-2.6。二、Pytest
unittest和pytest都属于Python的测试框架,有很多软件测试小白不明白测试和Python有什么关系?举一个简单的例子,利用Python我们可以编写测试表单脚本,自动生成是不是比每天手动写来的简单高效?Python作为一门非常简单的“脚本语言”。作为一名软件测试还是需要简单掌握的,尤其掌握借用Python语言来进行自动化测试。
一、Unittest
作为Python自带的单元测试框架,我们也将Unittest称之为PyUnit,就像JUnit于Java的关系一样。
Unittest完全支持自动化测试,以及测试用例的初始化,关闭和聚合功能。Unittest框架的使用是通过类(class)的方式,将测试用例组织在一起。
执行结果:
这里有一点需要注意的是,unittest有一个关联模块unittest2,然而unittest2近使用于Python 2.4-2.6。
二、Pytest
Pytest属于Python的第三方测试框架。其主要目的是让单元测试变得容易。并且支持复杂的应用层面功能测试。
Pytest的特性有:
-
支持用简单的assert语句实现丰富的断言,无需复杂的self.assert*函数
-
自动识别测试模块和测试函数
-
模块化夹具用以管理各类测试资源
-
对 unittest 完全兼容,对 nose基本兼容
-
支持Python3和PyPy3
-
丰富的插件生态,已有300多个各式各样的插件,社区繁荣
示例:
def func(x):
return x - 1
def test_answer():
assert func(6) == 6
执行结果:
三、Unittest与Pytest区别
-
unittest的用例格式比较复杂,而且没有兼容性,插件过少,然而便于在其框架上进行二次开发。
-
pytest的使用更加方便快捷,格式也简单,并且支持unittest风格的测试用例,无须做任何修改,就能兼容unittest用例的测试代码。作为第三方测试框架,拥有丰富的插件,扩展功能丰富。