3

Django プロジェクトを Travis-CI と Coveralls に接続しています。私が直面している問題は、データが Travis から Coveralls に投稿されると、 Coveralls

が自分のアプリ ファイルに加えて、Django フレームワークとサイト パッケージ ファイルのすべてを考慮しているように見えることです。

ここに画像の説明を入力

about は私のアプリ ファイルです。私が書いたもののカバレッジのみを表示する方法はありますか? このようなもの:

ここに画像の説明を入力

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 と関係があるようです...

4

1 に答える 1

4

ドキュメントごと:_coverage

コードを実行するcoverage runと、Python 標準ライブラリの一部でない限り、コマンドはデフォルトですべてのコードを測定します。

Django は標準ライブラリに含まれていないため、除外するか、独自のコードのみを含めるように指定する必要があります。で、カバレッジscriptの (s) を設定できます。sourceたとえば、標準では次のようになりますmyapp

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

統合に関するDjangoドキュメントに従ってcoverage--source='.'、プロジェクト ルート内のすべてのファイルをカバーするために使用することもできます。

于 2015-07-20T20:04:16.343 に答える