12

我正在尝试在我的公共 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)
4

1 回答 1

18

我在本地运行您的测试时重现了这个问题,发现覆盖率需要tests文件夹包含一个__init__.py,然后才能收集任何数据。

我添加__init__.pytests文件夹中,然后覆盖按预期收集数据。

在此处输入图像描述

于 2018-12-09T20:23:09.563 回答