升级pytest至7版本后测试无法运行,报错未知钩子函数
问题根源与解决方法
从错误日志可直接定位问题:项目根目录下的conftest.py文件中使用了pytest_html_report_title钩子函数,但该钩子并非pytest核心自带功能,而是pytest-html插件提供的扩展钩子。pytest无法识别这个未注册的钩子,导致测试流程中断,无法执行测试用例。
具体解决步骤
1. 检查conftest.py内容
找到项目根目录下的conftest.py,定位包含pytest_html_report_title的代码段(通常是自定义HTML报告标题的函数,示例如下):
def pytest_html_report_title(report): report.title = "自定义测试报告标题"
2. 根据需求选择处理方式
需要生成HTML测试报告:
安装pytest-html插件,确保与当前pytest版本兼容:pip install pytest-html安装完成后重新运行测试即可。
不需要HTML测试报告:
直接删除conftest.py中pytest_html_report_title相关的函数代码,保存文件后重新执行测试。
3. 验证修复
执行测试命令:
pytest test_pytest_.py
此时pytest会正常识别并运行test_pytest_0和test_pytest_1两个测试用例。
内容的提问来源于stack exchange,提问作者Hasan
相关产品推荐
相关产品推荐

