从django_coverage中排除系统路径

7 投票
2 回答
716 浏览
提问于 2025-04-16 07:09

我在一个项目上运行django_coverage,使用的命令是test_coverage。这个命令可以正常工作,但它在输出和最终计算中包含了/usr/local/lib/python2.6/dist-packages里的代码。我对这些模块的覆盖率不感兴趣,我只想知道我项目的测试覆盖率。我在BitBucket上的django_coverage文档中看到有一个COVERAGE_PATH_EXCLUDES,但这个设置似乎只适用于项目的子目录,而不适用于绝对的系统路径。此外,我还看到COVERAGE_MODULE_EXCLUDES的默认设置是排除任何包含“django”的导入,但我仍然在输出中看到了/usr/local/lib/python2.6/dist-packages/django的内容。

有没有什么想法可以解决这个问题?

2 个回答

-1

我不是在用django,所以不能确认这个,但有可能你修改了原来的代码设置文件,而不是像步骤3中提到的那样把设置包含到你自己的文件里(下面是从说明文档摘录的内容):

作为Django应用安装

  1. 把整个 django_coverage 应用放到你的第三方应用目录里。
  2. 更新你的 settings.INSTALLED_APPS,把 django_coverage 加进去。
  3. 在你自己的设置文件中包含测试覆盖率相关的设置。具体内容请查看 settings.py
2

你在 COVERAGE_PATH_EXCLUDES 里有列出 'django' 吗?我有一个类似的环境(django 1.1.2,python 2.6),在我的测试覆盖率结果中没有看到任何 django 包的输出。你能分享一下你用来排除的内容吗?

撰写回答