Pytest框架 — 09、Pytest的conftest.py文件

目录
  • 1、conftest.py介绍
  • 2、conftest.py的特点
  • 3、conftest.py文件的使用
  • 4、conftest.py的作用域

1、conftest.py介绍

conftest.py
pytest
框架的一种固定写法,把
fixture
或者自己定义的插件写到这个文件里就会自动去调用。我们前面都是将
fixture
写到测试用例文件里,在实际工作中更推荐写到
conftest.py
文件中,这样更加灵活,易维护。

2、conftest.py的特点

  • conftest.py
    的文件名是固定的,不能修改
  • 可以通过
    conftest.py
    实现共享
    fixture
  • conftest.py
    需要放到包内,即文件夹必须有
    __init__.py
    文件
  • conftest.py
    文件中的
    fixture
    和自定插件在使用时不需要
    import
    pytest
    会自动查找

3、conftest.py文件的使用

  1. 第一步:在项目根目录或者包中创建
    conftest.py
 import pytest


@pytest.fixture()
def conftest_fixture():
print("fixture前置")
yield
print("fixture后置")
  1. 第二步:在测试用例文件中使用
 def test_case(conftest_fixture):
print("测试用例")

"""
执行结果
conftest_demo/test_case.py::test_case fixture前置
测试用例
PASSEDfixture后置
"""

4、conftest.py的作用域

  • 在根目录创建
    conftest.py
    文件,作用范围为所有测试模块
  • 在单独测试目录中创建
    conftest.py
    文件,作用范围为该目录
  • 测试根目录和子目录中都有
    conftest.py
    文件,且存在同名
    fixture
    ,则在子目录下的测试用例使用的是子目录
    conftest.py
    中的
    fixture

    总结来说,conftest.py文件可以作用于同级以及以下的模块。

标签: python

添加新评论