从coveralls.io中移除测试?
我有我的Django项目与Travis-CI和Coveralls联系在一起。
我面临的问题是,当我的数据是从发布到特拉维斯工作服,工作服似乎考虑到所有除了Django框架和站点包文件到自己的应用程序文件:
我真正关心的唯一覆盖数据是我的应用程序文件 - 是否有任何方法只显示我写的内容的覆盖范围?这样的事情:
我在Travis上的命令好像只能运行我自己的应用测试,这看起来像是正确的行为。这里是我的.travis.yml文件:从coveralls.io中移除测试?
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 ...
当运行你的代码中,
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='.'
覆盖项目的根目录中的所有文件。
真棒!得到它的工作。结束使用source =。像你说的。谢谢! :) – dcgoss
你试过'... manage.py测试myapp'吗? – jonrsharpe
@jonrsharpe是的。我检查过Travis版本的输出,'manage.py test'和'manage.py test myapp'正在运行相同数量的测试。 – dcgoss