1

在我的项目中,我将circleCIcodecov用于 Springboot maven 项目。

以下是 .circleci/config.yml 的相关部分

 # run tests! and gen code coverage
  - run: mvn integration-test cobertura:cobertura

  - store_test_results:
      path: target/surfire-reports

  - run:
      name: Send to CodeCov
      command: bash <(curl -s https://codecov.io/bash)enter code here

而maven插件是:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>cobertura-maven-plugin</artifactId>
    <configuration>
      <formats>
        <format>html</format>
        <format>xml</format>
      </formats>
      <check/>
    </configuration>
  </plugin>

我使用的是默认的 codecov.yml,可以在这里找到。

circleci 构建成功,我确实生成了一个 codecov 报告,但代码覆盖率仅适用于项目的bootsrap包中的文件com.x.y.bootstrap

下面是来自 codecov 站点的存储库图像。 在此处输入图像描述

我正在寻找的是整个项目的完整代码覆盖率。

4

1 回答 1

0

我相信问题是由于cobertura-maven-plugin没有选择正确的源类路径;因此生成包含无效数据的报告。我已经更新了要使用的项目jacoco-maven-plugin并简单地运行测试:

  • 运行: mvn 集成测试

POM 文件更改如下:

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

之后的一切都值得。

于 2019-09-10T17:37:53.447 回答