从coveralls.io删除测试?

时间:2015-07-20 19:48:34

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

我的Django项目与Travis-CI和Coveralls联系在一起。

我面临的问题是,当我的数据从Travis发布到Coveralls时,Coveralls似乎考虑了除了我自己的所有Django Framework和站点包文件。 app文件:

enter image description here

我真正关心的唯一覆盖数据是我的应用文件 - 有没有办法只显示我拥有的内容书面?这样的事情:

enter image description here

我对特拉维斯的命令似乎只运行我自己的应用程序测试,这似乎是正确的行为。这是我的.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

看起来它有事情要做特拉维斯'的virtualenv ...

1 个答案:

答案 0 :(得分:2)

the coverage documentation

  

运行代码时,默认情况下会coverage run命令   测量所有代码,除非它是Python标准库的一部分。

Django不在标准库中,因此您需要指定它应该被排除,或者只包含您自己的代码。在script中,您可以设置source(s)作为保险范围。例如,使用标准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='.'来涵盖项目根目录中的所有文件。