返回顶部
首页 > 资讯 > 精选 >Pytest之测试命名规则的使用示例
  • 334
分享到

Pytest之测试命名规则的使用示例

2023-06-14 13:06:07 334人浏览 薄情痞子
摘要

这篇文章主要介绍Pytest之测试命名规则的使用示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!背景:pytest以特定规则搜索测试用例,所以测试用例文件、测试类以及类中的方法、测试函数这些命名都必须符合规则,才能

这篇文章主要介绍Pytest之测试命名规则的使用示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

背景:

pytest以特定规则搜索测试用例,所以测试用例文件、测试类以及类中的方法、测试函数这些命名都必须符合规则,才能被pytest搜索到并加入测试运行队列中。

默认搜索规则:

  • 如果pytest命令行有指定目录,则从该目录中开始查找测试用例文件,如果没有指定,则从当前运行目录开始查找文件。注意,该查找是递归查找,子目录中的文件也会被查找到。

  • 并不是能够查找到目录下的所有文件,只有符合命名规则的文件才会被查找。默认规则是以test_开头或者以_test结尾的.py文件。

  • 在测试文件中查找Test开头的类,以及类中以test_开头的方法,查找测试文件中test_开头的函数。

测试用例默认命名规则

  • 除非pytest命令指定到测试用例文件,否则测试用例文件命名应该以 test_开头或者以_test结尾。

  • 测试函数命名,测试类的方法命名应该以test_开头。

  • 测试类命名应当以Test开头。

tips: 测试类的不应该有构造函数。

笔者习惯装测试用例的文件夹,测试用例文件,测试函数,类中的测试方法都以test_开头。建议保持一种统一的风格。

示例:

# func.pydef add(a,b): return a+b# ./test_case/test_func.pyimport pytestfrom func import *class TestFunc: #def __init__(self):  #self.a = 1 def test_add_by_class(self):  assert add(2,3) == 5def test_add_by_func(): assert add(4,6) == 10'''# stdout:============================= test session starts =============================platfORM win32 -- python 3.7.0, pytest-5.3.4, py-1.8.1, pluggy-0.13.1rootdir: D:\python3.7\project\pytestplugins: allure-pytest-2.8.9, rerunfailures-8.0collected 2 itemstest_case\test_func.py ..                                                [100%]============================== 2 passed in 0.04s ==============================[Finished in 1.3s]######################################################################'''

测试结果中,test_case\test_func.py … 。两个点号代表两个测试用例。

错误示范,当测试类有构造函数时:

# func.pydef add(a,b): return a+b# ./test_case/test_func.pyimport pytestfrom func import *class TestFunc: def __init__(self):  self.a = 1 def test_add_by_class(self):  assert add(2,3) == 5def test_add_by_func(): assert add(4,6) == 10'''# stdout:============================= test session starts =============================platform win32 -- Python 3.7.0, pytest-5.3.4, py-1.8.1, pluggy-0.13.1rootdir: D:\Python3.7\project\pytestplugins: allure-pytest-2.8.9, rerunfailures-8.0collected 1 itemtest_case\test_func.py .                                                 [100%]============================== warnings summary ===============================test_case\test_func.py:4  D:\Python3.7\project\pytest\test_case\test_func.py:4: PytestCollectionWarning: cannot collect test class 'TestFunc' because it has a __init__ constructor (from: test_case/test_func.py)    class TestFunc:-- Docs: https://docs.pytest.org/en/latest/warnings.html======================== 1 passed, 1 warning in 0.04s =========================[Finished in 1.4s]######################################################################'''

会报错,pytest只能找到test_开头的函数,但是不能找到Test开头的含有构造函数的测试类。

自定义测试用例命名规则

如果因为某种需要,需要使用其他命名规则命名的测试文件、测试函数、测试类以及测试类的方法,可以通过pytest.ini配置文件做到。

在测试系统的顶层目录创建pytest.ini文件,在pytest.ini文件中写入如下配置:

[pytest]# 更改测试文件命名规则python_files = HG*# 更改测试类命名规则python_classes = HG*# 更嗨测试函数命名规则python_functions = HG*

示例:

# func.pydef add(a,b): return a+b# ./test_case/HG_func.pyimport pytestfrom func import *class HGFunc: #def __init__(self):  #self.a = 1 def HG_add_by_class(self):  assert add(2,3) == 5def HG_add_by_func(): assert add(4,6) == 10'''stdout:============================= test session starts =============================platform win32 -- Python 3.7.0, pytest-5.3.4, py-1.8.1, pluggy-0.13.1 -- D:\Python3.7\python.execachedir: .pytest_cacherootdir: D:\Python3.7\project\pytest, inifile: pytest.iniplugins: allure-pytest-2.8.9, rerunfailures-8.0collecting ... collected 2 itemstest_case/HG_func.py::HGFunc::HG_add_by_class PASSED                     [ 50%]test_case/HG_func.py::HG_add_by_func PASSED                              [100%]============================== 2 passed in 0.03s ==============================[Finished in 1.3s]'''

Tips:

  • pytest.ini是可以改变pytest运行方式的配置文件,但是正常情况下,测试系统里根本不需要存在pytest.ini文件,我们使用默认的运行方式即可工作。

  • pytest.ini还有许多其他个性化配置,当有需要时,可以在自动化测试项目的顶层目录里创建pytest.ini文件,添加配置,达到个性化运行的目的。

以上是“Pytest之测试命名规则的使用示例”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Pytest之测试命名规则的使用示例

本文链接: https://lsjlt.com/news/271125.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Pytest之测试命名规则的使用示例
    这篇文章主要介绍Pytest之测试命名规则的使用示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!背景:pytest以特定规则搜索测试用例,所以测试用例文件、测试类以及类中的方法、测试函数这些命名都必须符合规则,才能...
    99+
    2023-06-14
  • Pytest之测试命名规则的使用
    背景: pytest以特定规则搜索测试用例,所以测试用例文件、测试类以及类中的方法、测试函数这些命名都必须符合规则,才能被pytest搜索到并加入测试运行队列中。 默认搜索规则: ...
    99+
    2024-04-02
  • css命名规则的示例分析
    这篇文章主要为大家展示了“css命名规则的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“css命名规则的示例分析”这篇文章吧。头:header   内容...
    99+
    2024-04-02
  • python单元测试之pytest的使用
    目录一、前提准备二、pytest生成自带的html测试报告三、pytest运行方式四、allure  一、前提准备 1、前提:需要安装pytest和pytest-...
    99+
    2024-04-02
  • CSS代码命名规则的示例分析
    小编给大家分享一下CSS代码命名规则的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 1. 技俩属性轨范 单个名目划...
    99+
    2024-04-02
  • CSS中命名规则和命名方法的示例分析
    小编给大家分享一下CSS中命名规则和命名方法的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!CSS命名规则  头:hea...
    99+
    2024-04-02
  • python单元测试之如何使用pytest
    这篇文章主要介绍python单元测试之如何使用pytest,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、前提准备前提:需要安装pytest和pytest-html(生成html测试报告)pip install p...
    99+
    2023-06-15
  • 常用的css命名规则
    这篇文章主要介绍“常用的css命名规则”,在日常操作中,相信很多人在常用的css命名规则问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”常用的css命名规则”的疑惑有所帮助!接...
    99+
    2024-04-02
  • pytest接口测试之fixture传参数request的使用
    目录前言 一、函数传参 request参数 request传两个参数 前言 有的测试用例,需要依赖于某些特定的case才可以执行,比如登录获取到token,后面的请求都需要带着,为...
    99+
    2024-04-02
  • CentOS中磁盘与分区命名规则的示例分析
    这篇文章给大家分享的是有关CentOS中磁盘与分区命名规则的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在Linux中,没有盘符这个概念,通过设备名来访问设备,设备名存放在/dev目录中。前面讲的SSD...
    99+
    2023-06-10
  • 详解Pytest测试用例的执行方法
    pytest概述 pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点: 1、简单灵活,容易上手,文档丰富; 2、支持参数化,可以细粒度地控制要测试的测试用...
    99+
    2024-04-02
  • Pytest自动化测试框架的使用
    目录Pytest和Unittest测试框架的区别?Pytest 安装Pytest 示例标记固件(Fixture)预处理和后处理作用域自动执行参数化总结Pytest和Unittest测...
    99+
    2023-03-19
    Pytest 自动化测试框架 Pytest 自动化
  • Java JUnit 的革命:改变单元测试游戏规则
    JUnit 5 是 Java 单元测试库的重大升级,为开发人员提供了强大的新功能和增强功能。其革命性的特性包括: 1. 注解改进: JUnit 5 引入了新的注释,简化了测试代码的编写和组织。 @DisplayName:为测试方法添加...
    99+
    2024-02-16
    Java JUnit 单元测试 测试开发 断言 扩展
  • css常用的命名规则有哪些
    这篇文章主要讲解了“css常用的命名规则有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css常用的命名规则有哪些”吧!一、常用命名规则头:header...
    99+
    2024-04-02
  • CSS的通用命名规则是什么
    本篇内容介绍了“CSS的通用命名规则是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!CSS规范化命名三种通用命名规则骆驼式命名法:正如它...
    99+
    2023-07-04
  • python使用pytest接口自动化测试的使用
    简单的设计思路 利用pytest对一个接口进行各种场景测试并且断言验证 配置文件独立开来(conf文件),实现不同环境下只需要改环境配置即可 测试的场景读...
    99+
    2024-04-02
  • 理解Golang中的命名规则与标识符使用
    理解Golang中的命名规则与标识符使用,需要具体代码示例在学习并使用Golang(Go语言)时,了解并遵循其命名规则与标识符的使用是非常重要的。本文将介绍Golang中的命名规则以及标识符的使用,并通过具体的代码示例来加深理解。一、命名规...
    99+
    2023-12-23
    Golang命名规则 Golang标识符 Golang关键词
  • Pytest+Yaml+Excel 接口自动化测试框架的实现示例
    目录一、框架架构二、项目目录结构三、框架功能说明四、核心逻辑说明配置文件输出目录请求工具类代码编写case程序主入口执行记录一、框架架构 二、项目目录结构 三、框架功能说明 解决...
    99+
    2024-04-02
  • 常用的DIV+CSS命名规则有哪些
    今天小编给大家分享一下常用的DIV+CSS命名规则有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来...
    99+
    2024-04-02
  • Python变量命名规则的正确用法
    如何正确使用Python语言的变量命名规则 在使用Python编写代码时,正确命名变量是一个非常重要的注意事项。恰当的变量命名不仅能提高代码的可读性,还能减少出错的可能性。本文将介绍Python语言的变量命名规则,并提供一些具体...
    99+
    2024-01-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作