codecov 无法使用 pytest 收集数据 - "Coverage.py warning: No data was collected."

codecov unable to collect data using pytest - "Coverage.py warning: No data was collected."

我正在尝试在我的 public travis 存储库上设置 codecov,但到目前为止还未能成功生成报告并将其上传到 codecov.io。我似乎在终端中收到错误报告,说我的代码的 0% 已被覆盖,并附有警告。

据我所知,我的 .travis.yml 和 shell 脚本完全符合 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)

我在本地重现了这个问题 运行 你的测试,发现 coverage 需要 tests 文件夹包含 __init__.py 才能收集任何数据。

我将 __init__.py 添加到 tests 文件夹,然后 coverage 按预期收集了数据。