• pytest配置文件合集(一)-----------conftest.py应用


    配置文件:

    配置文件一般存在项目的根目录下,官方文档介绍了四种配置文件,每种文件有各自的用处。

    pytest.ini:主配置文件,最常用,优先级最高
    tox.ini :可以理解为pytest.ini的另一种写法,二者选择使用其一即可
    setup.cfg :  通用配置文件,除非非常简单的用例,否则不建议使用
    conftest.py:本地的插件库,主要用于存放fixture,其中的hook函数和fixture将作用于该文件所在的目录以及所有子目录

    我们只重点学习pytest.ini和conftest.py

    1、conftest.py文件特点

    • 所有同目录测试文件运行前都会执行conftest.py文件,文件名字是固定不可改变, 不需要import导入
    • pytest用例会自动识别conftest.py文件,放到项目的根目录下就可以全局目录调用了,如果放到某个package下,那就在该package内有效,并且该包中有__init__.py文件
    • conftest.py文件是单独存放的一个夹具(Fixture)配置文件,通常conftest.py@pytest.fixture()结合使用
    • 可以跨.py文件调用,有多个.py文件调用时,可让conftest.py只调用了一次fixture,或调用多次fixture

    2、优先级问题

    fixture的session优先级最高

    fixture的class级别高于setup_class,也就是先执行fixture的scope="class"代码

    fixture的function级别高于setup,即先执行fixture的scope="function"代码

    3、案例

    conftest.py文件

    import pytest
    
    
    @pytest.fixture(scope='function',autouse="autouse")
    def login1():
        print("打印conftest配置文件下scope='function'内容")
        return 1234
        # print("打印yield返回文件")
    
    @pytest.fixture(scope="session",autouse="autouse")
    def logi2():
        print("打印conftest配置文件下的scope='session'内容")
    
    @pytest.fixture()
    def add():
        print("这是conftest配置文件add")
    
    testthree.py文件
    
    class TestThree:
        def setup(self):
            print("执行测试用例setup开始")
    
    
        def teardown(self):
            print("执行测试teardown结束")
    
        def setup_class(self):
            print("行测试模类中执行一次开始setup_class")
    
        def teardown_class(self):
            print("执行测试类中执行结束一次teardown_class")
    
    
        def test_one(self,add):
            print("执行测测试用例test_one")
            return 123
    
    
        def test_two(self):
            print("执行测试用例two")
            assert 4 + 5 == 9
    
        def test_add(self):
            print("执行测试用例test_add")
    

    输入结果:

  • 相关阅读:
    杨民道:BendDAO流动性危机对DeFi和NFT行业有何启示
    【计算机视觉40例】案例17:求解数独图像
    详解MySQL非常重要的日志—bin log
    【Java 语言】(1)Java 和 基于 Java 的编程基础 c.变量和数据类型
    Java学习笔记——并发编程(一)
    第一章 学前必读
    README
    Jenkins安装及项目配置
    tp6 workerman
    软信天成:物料主数据的标准管理
  • 原文地址:https://blog.csdn.net/qq_40024178/article/details/128108346