首页 > 其他分享 >pytest的conftest注意事项以及常用插件

pytest的conftest注意事项以及常用插件

时间:2022-12-31 23:56:13浏览次数:42  
标签:__ 插件 func01 conftest pytest test 执行

pytest中conftest的注意事项

"""
1. conftest中定义的函数或者fixture不能以test开头,要和测试用例区别开来
2. 通过@pytest.fixture()声明一个函数是一个fixture
3. conftest.py 是特殊的模块,无法import
4. 可以用setup-show 回溯setup的运行过程
"""

查看fixture是怎么执行的

不会执行代码,只把setup的执行顺序展示出来

def test_func01():
    print("前置操作:准备数据")
    yield
    print("后置操作:清理数据")
​
​
def test_func02():
    print("执行的setUp02")
    yield
​
​
if __name__ == '__main__':
    pytest.main(["-vs", "--setup-show"])

不执行用例,查看一共会有多少用例执行

if __name__ == '__main__':
    pytest.main(["-vs", "--collect-only"])

测试函数错误了,fixture的后置方法还会再执行吗

无论语法错误,还是断言错误,fixture的teardown方法都会执行

pytest插件

repeat

# 插件的使用一般有装饰器用法、命令行用法(装了插件才有参数的)
​
# pytest-repeat 重复,任务开发中的info接口可以使用这个,失败的时候,重复执行以下
import pytest
​
@pytest.mark.repeat(2)   # 指定test_func01用例运2次
def test_func01():
    pas

pytest-ordering

"""
`pip install pytest-ordering`
​
控制修改默认顺序,在一个py文件里面,顺序默认是从上到下的
​
多个测试文件之间是ASCII顺序
"""
​
@pytest.mark.run(order=2) 
def test_func01():
    pass
​
@pytest.mark.run(order=1) 
def test_func02():   # 正常应该是test_func01先执行,通过order执行运行顺序,常用于多个py文件中用例的执行,pytest中用例的执行顺序默认是按ascii来执行的
    pass
​
test_001.py::test_func02 PASSED  # 可以看到是func02先执行的                                         [ 50%]
test_001.py::test_func01 PASSED     

搜索插件用法帮助

pytest --help |findstr rerun

pytest-rerunfailures 重跑失败的用例

成功后,就不重跑

失败才重跑,只到指定的最大次数

pytest-dependency用例依赖

pip install pytest-dependency

主要用于解决用例之间的依赖关系,如果依赖的上下文失败,后续的用例会被标识为跳过执行

标签:__,插件,func01,conftest,pytest,test,执行
From: https://www.cnblogs.com/xiaomengniu/p/17017604.html

相关文章

  • pytest基础使用
    pytest记录pytest执行测试用例规则#.py测试文件必须以test_xxx.py开头,或者以(_test结尾)#测试类必须以Test开头,并且不能有init方法#测试方法必须以test_开头#断言......
  • Eolink神技之四、IDEA工具插件Eolink ApiKit
    Eolink神技之四、IDEA工具插件EolinkApiKit目录​​Eolink神技之四、IDEA工具插件EolinkApiKit​​​​前言​​​​一、自动全代码注释​​​​1.1测试环境​​​​1.2Eo......
  • NSIS3.08 System 插件中文帮助文档
     NSISSystem插件版权所有©2002brainsucker(NikMedved)版权所有©2002-2021NSIS贡献者目录介绍可用函数内存相关函数调用函数64-bit函数FA......
  • 掌握webpack(一)一张图让你明白webpack中output的filename、path、publicPath与主流插件
    webpack的核心概念,放到2022年相信很多的小伙伴都已经非常清楚了。但是,对于webpack配置中的output.path、output.filename以及output.publicPath,还有很多小伙伴还不理解。本......
  • XF插件如何实现登陆器的阴影界面​
    如下图,登陆器边框四周有阴影的高大上外观​如果有这种模糊的边框效果​......
  • Selenium64-pytest.ini
    配置文件pytest.inipytest.ini是什么?pytest.ini是pytest的主配置文件,可以改变pytest的默认行为,有很多可配置的选项。在执行文件根目录配置pytest.ini文件。日志的......
  • 云开发一键搬家插件
    运行截图优势1、官方的web控制台需要一个一个表导出导入,操作繁琐。而++一键搬家++不需要。2、直接用官方的web控制台导出的json文件导入腾讯云,会出现24位id和外键......
  • Selenium59-设计conftest
    pytest的conftest文件conftest文件的作用:一个专门存放fixture的配置文件。多个测试用例文件(test_*.py)的所有用例都需要用到一个前置/后置操作,如登陆退出,浏览器......
  • Selenium56-pytest测试固件
    pytest测试固件通过装饰器@pytest.fixture(),定义测试固件(testfixture)测试固件是什么?也叫测试夹具,用于实现初始化的前置操作或清理扫尾的后置操作。@pytest.fixtur......
  • Spring Boot2.x 学习导航大纲以及整合的插件学习(如mybatis/shiro等)-Boot整套前端由0到
    文章目录​​一、导言​​​​第一章、Java环境搭建及常用软件篇​​​​第二章、springboot搭建及学习篇​​​​第三章、springboot整合web篇​​​​第四章、springboot......