pytest--conftest.py
conftest.py 是什么?
核心配置文件,用于存放测试用例的共享逻辑
自动被 pytest 发现,无需显式导入
支持功能:夹具(fixture)、钩子函数(hooks)、插件配置
职责一:全局 Fixture(固件)的“共享仓库”
作用:你在 conftest.py 里定义的 @pytest.fixture,自动对所有测试用例可见。
实战对照:你代码中的 clear_extract(清缓存)就放在这里。testcase/ 目录下所有的测试脚本,都能直接写 def test_xxx(clear_extract): 来使用它,不需要写一行 import 语句。
职责二:插件钩子(Hook)的“聚合器”
作用:你可以在里面实现 Pytest 预留的钩子函数(如 pytest_terminal_summary、pytest_collection_modifyitems),从而“偷听”或“篡改” Pytest 的执行流程(比如用例跑完自动发钉钉、动态删改用例)。
实战对照:你代码中发钉钉消息的 pytest_terminal_summary 就放在这里。Pytest 跑完所有用例后,会自动回过头来执行它,而不用你在 run.py 里去手动调用。
职责三:自定义命令行参数的“注册器”
作用:通过 pytest_addoption 钩子,你可以给 pytest 命令增加自定义参数(比如 --env=test),从而实现在测试/生产环境之间一键切换。
