微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

目录

1、conftest.py介绍

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

2、conftest.py的特点

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

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文件可以作用于同级以及以下的模块。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐