CodeCov 找不到报告

Sna*_*apa 3 java gradle jacoco codecov

我试图让 codecov 运行和处理 Jacoco 为我的多构建 Java Gradle 项目生成的报告。但是,当我运行 codecov 脚本 ( bash <(curl -s https://codecov.io/bash)) 时,我得到以下输出:

x> No CI provider detected.
    Testing inside Docker? http://docs.codecov.io/docs/testing-with-docker
    Testing with Tox? https://docs.codecov.io/docs/python#section-testing-with-tox
    project root: .
    Yaml found at: .codecov.yml
==> Running gcov in . (disable via -X gcov)
==> Python coveragepy not found
==> Searching for coverage reports in:
    + .
--> No coverage report found.
    Please visit http://docs.codecov.io/docs/supported-languages
Run Code Online (Sandbox Code Playgroud)

我已经验证报告是由 jacoco 创建的build/reports/jacoco/codeCoverageReport,并且 xml 报告实际上存在。

我按照此处的指南(Github)设置了 jacoco 报告。我的 gradle 代码和那个 github 上的代码之间的主要区别是我已经xml.destination "${buildDir}/reports/jacoco/report.xml"排除了,因为 Gradle 将无法处理它。

.codecov.yml

codecov:
  require_ci_to_pass: true

coverage:
  precision: 3
  round: up
  range: "70...100"

  status:
    project: true
    patch: yes
    changes: no

parsers:
  gcov:
    branch_detection:
      conditional: yes
      loop: yes
      method: yes
      macro: no

comment:
  layout: "reach,diff,flags,tree"
  behavior: default
  require_changes: false

Run Code Online (Sandbox Code Playgroud)

Sna*_*apa 7

我想到了。运行bash <(curl -s https://codecov.io/bash) -h列出了我可用的选项,我发现有一个-f <file>选项可以指定要使用的确切文件。

从这里开始,我只是在我的 travis 文件中使用它来让它正确上传:

bash <(curl -s https://codecov.io/bash) -f build/reports/jacoco/codeCoverageReport/codeCoverageReport.xml