天天看点

python自动化测试学习-Python测试框架之unittest和pytest

unittest是python标准库中自带的单元测试框架,unittest有时候也被称为pyunit,就像junit是java语言的标准单元测试框架一样,unittest则是python语言的标准单元测试框架。

unittest支持自动化测试,测试用例的初始化、关闭和测试用例的聚合等功能,它有一个很重要的特性:它是通过类(class)的方式,将测试用例组织在一起。

示例:

python自动化测试学习-Python测试框架之unittest和pytest

执行结果:

python自动化测试学习-Python测试框架之unittest和pytest

注:unittest有一个关联模块unittest2,但unittest2仅适用于python 2.4-2.6。这是由于从python 2.7开始,unittest增加一些新的特性。为了在老的版本中支持这些特性,所以提供了unittest2这个库。但对于python 2.7及之后的版本,unittest是唯一的。本次示例中使用的为python2.7。

pytest是python的另一个第三方单元测试库。它的目的是让单元测试变得更容易,并且也能扩展到支持应用层面复杂的功能测试。

pytest的特性有:

支持用简单的assert语句实现丰富的断言,无需复杂的self.assert*函数

自动识别测试模块和测试函数

模块化夹具用以管理各类测试资源

对 unittest 完全兼容,对 nose基本兼容

支持python3和pypy3

丰富的插件生态,已有300多个各式各样的插件,社区繁荣

python自动化测试学习-Python测试框架之unittest和pytest
python自动化测试学习-Python测试框架之unittest和pytest
python自动化测试学习-Python测试框架之unittest和pytest

总结:

总体来说,unittest用例格式复杂,兼容性无,插件少,二次开发方便。pytest更加方便快捷,用例格式简单,可以执行unittest风格的测试用例,无须修改unittest用例的任何代码,有较好的兼容性。pytest插件丰富,比如flask插件,可用于用例出错重跑,还有xdist插件,可用于设备并行执行,效率更高。

python自动化测试学习-Python测试框架之unittest和pytest

上面是我收集的一些视频资源,在这个过程中帮到了我很多。如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们扣扣群【313782132 】,里面有各种软件测试资源和技术讨论。

python自动化测试学习-Python测试框架之unittest和pytest

当然还有面试,面试一般分为技术面和hr面,形式的话很少有群面,少部分企业可能会有一个交叉面,不过总的来说,技术面基本就是考察你的专业技术水平的,hr面的话主要是看这个人的综合素质以及家庭情况符不符合公司要求,一般来讲,技术的话只要通过了技术面hr面基本上是没有问题(也有少数企业hr面会刷很多人)

我们主要来说技术面,技术面的话主要是考察专业技术知识和水平,上面也是我整理好的精选面试题。

推荐好文:

软件自动化测试工具有哪些?手工测试与自动化测试应用场景区别

【python】自动化测试的7个步骤

自动化软件测试面试题(面试前准备篇)

论初学者自动化测试–终极指南

加油吧,测试人!如果你需要提升规划,那就行动吧,在路上总比在起点观望的要好。事必有法,然后有成。

资源不错就给个推荐吧~