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

如何使用coverage.py完全排除bar.foo.get_something函数的测试覆盖统计?

如何用coverage.py精准排除特定模块的同名函数?

遇到不同模块下有同名函数的情况完全不用愁——coverage.py支持精确到函数级别的排除规则,可以只跳过bar.foo.get_something的统计,丝毫不影响foo.foo.get_something的覆盖率计算。下面给你两种实用方案:

方法一:用配置文件持久化规则(推荐)

在项目根目录创建或修改.coveragerc配置文件,在[run]区块里添加精准的排除规则:

[run]
omit =
    # 格式为「文件路径::函数名」,确保路径和你的项目结构匹配
    bar/foo.py::get_something

这个配置会长期生效,每次运行coverage时都会自动跳过目标函数的统计,不用重复输入命令行参数。

方法二:命令行临时指定排除规则

如果只是临时测试,不想改动配置文件,可以直接在运行coverage时通过--omit参数指定要排除的函数:

coverage run --omit="bar/foo.py::get_something" your_test_script.py

记得把your_test_script.py替换成你实际的测试入口脚本。

小提醒

要是不确定函数的路径格式是否正确,可以先运行一次coverage report,查看输出里的函数条目,确保你要排除的路径和报告里的格式完全一致——比如报告里显示bar/foo.py::get_something,那你的排除规则就用这个格式就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 17:37:35