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

使用Coverage.py测试Django项目时如何忽略.virtualenv目录下的包

修复Coverage.py不排除虚拟环境目录的方案

核心问题根因

  • 配置文件名错误:Coverage 5.5版本默认读取的配置文件名为.coveragerc,你创建的.coveragec不会被自动识别,除非手动加--config参数指定。
  • 路径匹配规则错误:你写的*.virtualenvs/*、*./virtualenvs/*语法不符合Coverage的通配符规则,*不能直接匹配目录前缀,匹配任意位置下目标目录的正确写法是*/目标目录名/*。
  • 虚拟环境路径不匹配:可先执行pipenv --venv确认你的虚拟环境实际存储路径,再对应写匹配规则。

正确配置步骤

  1. 将项目根目录的.coveragec重命名为.coveragerc,修改配置内容如下:
[run]
source = .
omit = 
    */.virtualenvs/*
    */.venv/*
    */tests/*
    */apps.py
    */manage.py
    */__init__.py
    */migrations/*
    */asgi.py
    */wsgi.py
    */admin.py
    */urls.py

[report]
omit = 
    */.virtualenvs/*
    */.venv/*
    */tests/*
    */apps.py
    */manage.py
    */__init__.py
    */migrations/*
    */asgi.py
    */wsgi.py
    */admin.py
    */urls.py
  1. 清除之前的旧Coverage缓存数据:
    coverage erase
  2. 正常执行测试生成报告即可,无需额外加--omit参数:
coverage run manage.py test -v 2
coverage html

异常排查

如果规则仍未生效,执行coverage debug config查看当前加载的配置文件路径和omit规则列表,确认规则已被正确加载。

内容的提问来源于stack exchange,提问作者David.B

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 11:24:05