python 框架_Python之Pytest框架

Pytest框架,让你见识什么是单元测试界的高富帅

pytest是python语言中一款强大的单元测试框架,用来管理和组织测试用例,可应用在单元测试、自动化测试工作中。unittest也是python语言中一款单元测试框架,但是功能有限,没有pytest灵活。

就像:苹果电脑mac air 和mac pro一样。都是具备同样的功能,但是好用,和更好用。

本文包含以下几个内容点:

01、pytest的简单示例

02、pytest的安装

03、pytest的特征、与unittest的区别

04、pytest如何自动识别用例

05、pytest框架中,用例的运行顺序

一、Pytest写用例

pytest写用例很简单,下面是一个简单的例子:

74e16053d7289e105c423a2d7882fc8c.png

运行结果如下:

cb3225f585015efdb650434f34d14024.png

二、Pytest的安装

安装命令:pip install pytest

三、Pytest的特征,与Unittest区别

pytest的特征如下:

◆ 自动识别测试用例(unittest当中,需要引入TestSuite,主动加载测试用例。)

◆ 简单的断言表达:assert 表达式即可(unittest当中,self.assert*)

◆ 有测试会话、测试模块、测试类、测试函数级别的fixture(unittest当中是测试类、测试函数级别的fixture)

◆ 有非常丰富的插件,目前在600+,比如allure插件(unittest无)

◆ 测试用例不需要封装在测试类当中(unittest中需要自定义类并继承TestCase)

那么pytest是如何自动识别测试用例的呢?我们在编写pytest用例的时候,需要遵守哪些规则呢?

四、Pytest如何自动识别用例

识别规则如下:

搜索根目录:默认从当前目录中搜集测试用例,即在哪个目录下运行pytest命令,则从哪个目录当中搜索;

搜索规则:

1)搜索文件:符合命名规则 test_*.py 或者 *_test.py 的文件

2)在满足1)的文件中识别用例的规则:

以test_开头的函数名;

以Test开头的测试类(没有init函数)当中,以test_开头的函数

示例:在D:pycharm_workspace目录下,创建一个python工程,名为study_pytest。

在工程下,创建一个python包,包名为TestCases。

在包当中,创建一个测试用例文件:test_sample_1.py。

文件内容如下:

60cb674f7b20375986fee7b88dd385b7.png

按照上面定义的搜索规则,需要跳转到工程目录,然后再执行命令:pytest -v 。

执行结果如下:

6426fba40ede0b6d5bffe819961ac533.png

让我们愉快的加进来第2个测试文件:test_sample_2.py

内容如下:

df417b049ff538b6fd496a54683ea740.png

再次运行命令:pytest -v

得到如下结果:

5efc3f56c17a5055ae39cf927507738e.png

通过多个用例文件的执行,可以看出用例的执行顺序。

五、Pytest中用例的执行顺序

原则:先搜索到的py文件中的用例,先执行。

在同一py文件当中,按照代码顺序,先搜索到的用例先执行。 **

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值