全网最牛自动化测试框架系列之pytest(4)-测试用例执行顺序

【文章末尾给大家留下了大量的福利】

全网最牛自动化测试框架系列之pytest(4)-测试用例执行顺序

前言

在自动化测试项目中,单元测试框架运行时需要先搜索测试模块(即测试用例所在的.py文件),然后在测试模块中搜索测试类或测试函数,接着在测试类中搜索测试方法,最后加入到队列中,再按执行顺序执行测试。

所以,只有测试模块、测试类/测试函数、测试方法都符合命名规则,框架才能去识别测试用例。

那么,接下来我们来了解 pytest 框架中的测试命名规则。

命名规则

在了解pytest的测试命名规则之前,我们先需要知道 pytest 搜索用例的规则,它默认搜索规则如下:

  • 如果pytest执行命令中指定了目录,则从该指定目录中开始查找测试用例文件,如果没有指定,则从当前运行目录开始查找文件,最终的结果是找到整个项目中符合命名规则的测试用例。
  • 会查找整个项目中符合命令规则的测试模块,再由 测试模块–>测试类/测试函数–>测试方法 一层一层递归查找。

默认命名规则

pytest 的测试命名规则如下:

  • 测试模块:以 test_ 开头命名,如:test_login.py,或以 _test 结尾,如:login_test.py
  • 测试类:必须以 Test开头命名,且测试类中不能有 init 方法
  • 测试方法/测试函数:必须以test开头,如:test_login() 或 testRegister()

最好是将测试模块、测试方法/函数都以 test_ 开头命名,这样可读性更强,如下图:

全网最牛自动化测试框架系列之pytest(4)-测试用例执行顺序

自定义命名规则

pytest 框架可以通过 pytest.ini配置文件自定义命名规则,在某些特定场景下可能会用到。

在测试项目的根目录下创建 pytest.ini文件,并进行如下配置:

[pytest]
更改测试模块命名规则
python_files = CS*
更改测试类命名规则
python_classes = CS*
更改测试方法/测试函数命名规则
python_functions = CS*

注意,在.ini文件中直接使用中文注释执行的时候会报错,实际使用如上代码时,需要将中文注释去掉。

新建测试模块 CS_register.py,示例如下:

import pytest
import requests, json

class CSRegister:

    def CS_register(self):
        '''注册用户'''
        headers = {"Content-Type": "application/json;charset=utf8"}
        url = "http://127.0.0.1:5000/register"
        data = {
            "username": "张学友",
            "password": "123456",
            "sex": "0",
            "telephone": "13823456789",
            "address": "北京东城区"
        }
        res = requests.post(url=url, headers=headers, json=data).text
        res = json.loads(res)
        assert res['code'] == 0

if __name__ == '__main__':
    pytest.main()

执行结果如下:

全网最牛自动化测试框架系列之pytest(4)-测试用例执行顺序

除非是特殊情况,否则不太建议自定义命名规则。

总结

从个人实际经验来看,不管是 pytest还是 unittest自动化项目,命名方式最好如下:

  1. 测试模块名以test开头,如 test_login.py
  2. 测试类名以Test开头,如 TestLogin()
  3. 测试函数/方法名以test开头,如 test_login()

这样的命名方式,既简单又清晰,而自定义命名其实较为少用,除非项目比较特殊。

重点:学习资料学习当然离不开资料,这里当然也给你们准备了600G的学习资料

【需要的可以扫描文章末尾的qq群二维码自助拿走】

【记得(备注”csdn000″)】

群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。

项目实战:

全网最牛自动化测试框架系列之pytest(4)-测试用例执行顺序

大型电商平台:

全网最牛自动化测试框架系列之pytest(4)-测试用例执行顺序

全套软件测试自动化测试教学视频

全网最牛自动化测试框架系列之pytest(4)-测试用例执行顺序

300G教程资料下载【视频教程+PPT+项目源码】

全网最牛自动化测试框架系列之pytest(4)-测试用例执行顺序

全套软件测试自动化测试大厂面经

全网最牛自动化测试框架系列之pytest(4)-测试用例执行顺序

python自动化测试++全套模板+性能测试

全网最牛自动化测试框架系列之pytest(4)-测试用例执行顺序

全网最牛自动化测试框架系列之pytest(4)-测试用例执行顺序

听说关注我并三连的铁汁都已经升职加薪暴富了哦!!!!

Original: https://blog.csdn.net/m0_60054525/article/details/126528986
Author: 阿里测试君
Title: 全网最牛自动化测试框架系列之pytest(4)-测试用例执行顺序

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/775584/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球