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

打印 上一主题 下一主题

主题 888|帖子 888|积分 2664

目录

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
  1. import pytest
  2. @pytest.fixture()
  3. def conftest_fixture():
  4.     print("fixture前置")
  5.     yield
  6.     print("fixture后置")
复制代码

  • 第二步:在测试用例文件中使用
  1. def test_case(conftest_fixture):
  2.     print("测试用例")
  3. """
  4. 执行结果
  5. conftest_demo/test_case.py::test_case fixture前置
  6. 测试用例
  7. PASSEDfixture后置
  8. """
复制代码
4、conftest.py的作用域


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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

宝塔山

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表