python自动化测试需要哪些工具,python自动化测试是什么

首页 > 经验 > 作者:YD1662022-11-18 08:54:40

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

常见的测试框架

1、Unittest

unittest是Python内置的标准类库。它的API跟Java的JUnit、.net的NUnit,C 的CppUnit很相似。

通过继承unittest.TestCase来创建一个测试用例。

举个例:

import unittest

def fun(x): return x 1

class MyTest(unittest.TestCase): def test(self): self.assertEqual(fun(3), 4)

执行后成功。

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

python自动化测试需要哪些工具,python自动化测试是什么(1)

2、 Doctest

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

举个例子:

def square(x): """Squares x.

>>> square(2) 4 >>> square(-2) 4 >>> square(5) 25 """

return x * x

if __name__ == '__main__': import doctest doctest.testmod()

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

python自动化测试需要哪些工具,python自动化测试是什么(2)

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

def square(x): """Squares x.

>>> square(2) 5 >>> square(-2) 4 >>> square(5) 25 """

return x * x

if __name__ == '__main__': import doctest doctest.testmod()

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

python自动化测试需要哪些工具,python自动化测试是什么(3)

3、py.test

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

编写pytest测试样例

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

example.py

python自动化测试需要哪些工具,python自动化测试是什么(4)

首页 123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.