1、conftest.py文件
conftest.py文件是pytest框架中的一个特殊文件,用于定义共享的设置、夹具(fixture)和钩子函数(hook)。
在pytest中,conftest.py文件可以用于在整个测试项目中共享夹具、配置和钩子函数。通过在conftest.py文件中定义夹具,你可以提供测试所需的初始化数据和对象,并使其在测试文件中可用。这样可以避免在每个测试文件中重复定义夹具,提高代码的复用性和可维护性。
此外,conftest.py文件也可以定义钩子函数,用于在测试执行的不同阶段插入自定义的行为。通过定义钩子函数,你可以在测试开始前、测试结束后或其他特定的测试事件发生时执行特定的代码逻辑。这样可以扩展和定制pytest的行为,实现特定的测试需求和额外的操作。
当pytest运行时,它会自动搜索项目中的conftest.py文件,并根据其中的定义来加载夹具和钩子函数。conftest.py文件可以位于项目的根目录下,也可以位于子目录中,它们会在对应的作用域内生效。
conftest.py文件特点:
- conftest.py文件名是固定的,不能修改
- contest.py文件不需要导入,pytest运行的时候会自动识别该文件
- conftest.py与运行的用例要在同一个pakage下,并且有__init__.py文件
- conftest.py作用于文件同级目录和子目录下的所有测试用例,当有多个conftest.py文件的时候,子目录的conftest.py文件优先级较高
- 定义夹具@pytest.fixture的作用域参数scope:session,module,class,function
2、定义夹具
3、编写插件
reference:
https://docs.pytest.org/en/stable/how-to/writing_plugins.html#writing-plugins