django - 从 coveralls.io 中删除测试?

标签 django unit-testing code-coverage travis-ci coveralls

我的 Django 项目与 Travis-CI 和 Coveralls 相连。

我面临的问题是,当我的数据从 Travis 发布到 Coveralls 时,Coveralls 似乎考虑了所有 Django 框架和站点包文件以及我自己的应用程序文件:

enter image description here

我真正关心的唯一覆盖率数据是我的应用程序文件——有什么方法可以只显示我编写的内容的覆盖率吗?像这样:

enter image description here

我在 Travis 上的命令似乎只运行我自己的应用程序测试,这似乎是正确的行为。这是我的 .travis.yml 文件:

language: python
python:
  - "3.4"
# command to install dependencies
install:
  - pip install -r requirements.txt --use-mirrors
  - pip install coveralls coverage
# command to run tests
script:
  - coverage run manage.py test
# addons
addons:
  postgresql: "9.4"
after_success:
  coveralls

这是我不想包含在工作服中的文件路径之一的示例:/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/django/utils/lru_cache.py

好像和Travis的virtualenv有关...

最佳答案

根据 the coverage documentation :

When running your code, the coverage run command will by default measure all code, unless it is part of the Python standard library.

Django 不在标准库中,因此您需要指定它应该被排除在外,或者只包含您自己的代码。在您的 script 中,您可以设置 source 以进行覆盖。例如,使用标准的 myapp:

script:
  - coverage run --source=myapp manage.py test myapp
               # ^ set one or more comma-separated sources to cover

根据 the Django docs on coverage integration您还可以使用 --source='.' 覆盖项目根目录中的所有文件。

关于django - 从 coveralls.io 中删除测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31525115/

相关文章:

javascript - 脚本在 django 模板中不起作用

java - 为首选项编写测试,访问首选项时不断获取 `android.content.res.Resources$NotFoundException`

unit-testing - 如何保证所有单元测试在提交之前通过?

c++ - 为什么 gcov 报告一个使用良好的类的头文件覆盖率为 0%?

osx-lion - monocov 未在 (OS X 10.7.4) 上生成输出

python - Django:覆盖继承的字段选项

python - 无法访问属性返回的字典的 items()

silverlight - 如何消除Silverlight单元测试框架的5秒延迟

node.js - Mocha 茶覆盖范围未知

python - Django:无法运行自定义命令