You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Pytest同时测试C0与C1覆盖率并设置不同达标阈值

解决方案

1. 配置分类型覆盖率阈值

修改pyproject.toml文件,在coverage报告配置段中分别指定语句覆盖率(C0)和分支覆盖率(C1)的达标阈值:

[tool.coverage.report]
# C0(语句)覆盖率阈值
fail_under = 95
# C1(分支)覆盖率阈值
branch_fail_under = 95

2. 单次执行测试并同步收集两种覆盖率

仅需执行一次命令,即可同时收集语句和分支覆盖率数据,并自动校验各自阈值:

pytest --cov --cov-branch

执行效果

命令执行后,coverage会同时输出两种覆盖率的详细结果,并分别检查是否达标:

  • 若两种覆盖率均满足阈值要求,测试正常通过;
  • 任意一种未达标时,测试直接失败,并明确提示未达标的覆盖率类型及具体数值。

该方案既解决了重复执行测试导致的耗时翻倍问题,也实现了为两种覆盖率设置独立阈值的需求。

内容的提问来源于stack exchange,提问作者Kins

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 01:44:58