web-dev-qa-db-ja.com

codecovがpytestを使用してデータを収集できません-「Coverage.py警告:データが収集されませんでした。」

パブリックtravisリポジトリでcodecovをセットアップしようとしていますが、これまでのところ、レポートを正常に生成してcodecov.ioにアップロードすることができませんでした。ターミナルで、コードの0%が警告とともにカバーされているという誤ったレポートを受け取ったようです。

私の知る限り、私の.travis.ymlスクリプトとシェルスクリプトは、pytest-covとcodecovのドキュメントで指定されている規則と完全に一致しています。

完全なログを含む私のtravisターミナルはここにあります: https://www.travis-ci.com/jmaggio14/imagepypelines/jobs/163802897#L681

私のリポジトリはここにあります: https://github.com/jmaggio14/imagepypelines/tree/89a6bbc2fadc94a51570d80be356941df1a87a87

私の(短縮された).travis.ymlファイルは次のとおりです。

 Sudo: false

  language: python

  python:
      - 2.7
      - 3.4
      - 3.5
      - 3.6

  install:
    # I removed some other lines for readability here
    - pip install codecov pytest-cov hypothesis

  script:
    # running tests and code coverage report
    - py.test --cov=imagepypelines tests/


  after_success:
    - codecov

次の警告と、コードの0%がテストでカバーされているというメッセージを受け取ることになります。

Coverage.py warning: No data was collected. (no-data-collected)
11
Frozenglass

テストをローカルで実行してこの問題を再現しましたが、カバレッジでデータを収集する前に、testsフォルダーに__init__.pyを含める必要があることがわかりました。

__init__.pytestsフォルダーに追加し、カバレッジが期待どおりにデータを収集しました。

enter image description here

9
Will Keeling