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文件的使用
- 第一步:在项目根目录或者包中创建
conftest.py
import pytest
@pytest.fixture()
def conftest_fixture():
print("fixture前置")
yield
print("fixture后置")
- 第二步:在测试用例文件中使用
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文件可以作用于同级以及以下的模块。