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

GitLab CI/CD中Python项目覆盖率误统计第三方库的解决方法咨询

解决GitLab CI/CD中Python代码覆盖率仅统计自研模块的问题

要排除第三方库、只统计自研的b2badv_api模块,只需修改pytest命令中--cov的参数,明确指定要统计的目标模块即可,具体操作如下:

修改.gitlab-ci.yml中的script配置

将原来的pytest命令:

pytest --cov --cov-report term --cov-report xml:coverage.xml

替换为:

pytest --cov=b2badv_api --cov-report term --cov-report xml:coverage.xml

原理说明

  • 原命令中的--cov未指定目标,pytest会默认遍历当前环境下所有可访问的Python文件(包括第三方库的代码),导致覆盖率数值被拉低。
  • 指定--cov=b2badv_api后,pytest仅会统计b2badv_api模块下的自研代码,自动排除第三方库的文件。

可选进阶方案(多模块或复杂场景)

如果你的项目有多个自研模块,或需要更精细的排除规则,可以在项目根目录创建.coveragerc配置文件,示例如下:

[run]
source = b2badv_api, another_module  # 多个自研模块用逗号分隔
omit =
    */site-packages/*  # 排除所有第三方库目录
    */tests/*  # 可选:排除测试文件本身

然后在pytest命令中使用--cov-config=.coveragerc指定配置文件:

pytest --cov --cov-config=.coveragerc --cov-report term --cov-report xml:coverage.xml

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 18:33:31