使用pytest coverage时如何查询调用特定代码行的测试用例?
查询单代码行对应覆盖测试用例的方法
pytest-cov默认生成的HTML报告不直接展示单行代码对应的测试用例信息,你可以通过以下两种方式实现需求:
方案1:使用annotate报告快速获取
不需要额外安装插件,仅调整运行参数即可:
- 执行测试时追加
--cov-report annotate参数,参考运行命令:pytest --cov=你的被测模块目录 --cov-report html --cov-report annotate 测试用例目录 - 运行完成后会生成
covannotate目录,目录下的每个文件对应你的源码文件 - 打开目标源码对应的注释文件,已覆盖的代码行上方会直接标注所有覆盖了该行的测试用例全称
方案2:在HTML报告中直接点击查看
如果希望在原有HTML报告内直接查询,需要配合插件实现:
- 先安装配套插件:
pip install pytest-cov-context - 执行测试时追加
--cov-context=test参数,参考运行命令:pytest --cov=你的被测模块目录 --cov-context=test --cov-report html 测试用例目录 - 打开生成的HTML覆盖率报告,点击任意已覆盖的代码行,页面侧边会自动弹出所有覆盖该行的测试用例列表
内容的提问来源于stack exchange,提问作者Anton Daneyko
相关产品推荐
相关产品推荐

