快捷搜索:  汽车  科技

软件测试的主要类别(特斯汀软件测试)

软件测试的主要类别(特斯汀软件测试)Pytest的特性有:Pytest属于Python的第三方测试框架。其主要目的是让单元测试变得容易。并且支持复杂的应用层面功能测试。执行结果:这里有一点需要注意的是,unittest有一个关联模块unittest2,然而unittest2近使用于Python 2.4-2.6。二、Pytest

软件测试的主要类别(特斯汀软件测试)(1)

unittest和pytest都属于Python的测试框架,有很多软件测试小白不明白测试和Python有什么关系?举一个简单的例子,利用Python我们可以编写测试表单脚本,自动生成是不是比每天手动写来的简单高效?Python作为一门非常简单的“脚本语言”。作为一名软件测试还是需要简单掌握的,尤其掌握借用Python语言来进行自动化测试。

一、Unittest

作为Python自带的单元测试框架,我们也将Unittest称之为PyUnit,就像JUnit于Java的关系一样。

Unittest完全支持自动化测试,以及测试用例的初始化,关闭和聚合功能。Unittest框架的使用是通过类(class)的方式,将测试用例组织在一起。

软件测试的主要类别(特斯汀软件测试)(2)

执行结果:

软件测试的主要类别(特斯汀软件测试)(3)

这里有一点需要注意的是,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

执行结果:

软件测试的主要类别(特斯汀软件测试)(4)

三、Unittest与Pytest区别

软件测试的主要类别(特斯汀软件测试)(5)

  • unittest的用例格式比较复杂,而且没有兼容性,插件过少,然而便于在其框架上进行二次开发。

  • pytest的使用更加方便快捷,格式也简单,并且支持unittest风格的测试用例,无须做任何修改,就能兼容unittest用例的测试代码。作为第三方测试框架,拥有丰富的插件,扩展功能丰富。

猜您喜欢: