【问题标题】:CodeCov cannot find reportsCodeCov 找不到报告
【发布时间】:2019-10-23 15:13:12
【问题描述】:

我正在尝试让 codecov 运行并处理 Jacoco 为我的 multibuild 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

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

我按照指南 here (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

【问题讨论】:

    标签: java gradle jacoco codecov


    【解决方案1】:

    我想通了。运行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

    【讨论】:

      【解决方案2】:

      我正在使用带有 java15 的 maven

      添加到 pom.xml(在构建部分下):

      <plugin>
          <groupId>org.jacoco</groupId>
          <artifactId>jacoco-maven-plugin</artifactId>
          <version>0.8.6</version>
          <executions>
              <execution>
                  <goals>
                      <goal>prepare-agent</goal>
                  </goals>
              </execution>
              <execution>
                  <id>report</id>
                  <phase>prepare-package</phase>
                  <goals>
                      <goal>report</goal>
                  </goals>
              </execution>
          </executions>
      </plugin>
      

      添加到 .travis.yml:

      script:
         - mvn clean package
      
      after_success:
         - bash <(curl -s https://codecov.io/bash)
      

      对我来说效果很好。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多