Jacoco jenkins 插件无法获取组件测试执行文件

问题描述 投票:0回答:0

我的项目包结构是app/test/java 单元测试和组件测试位于同一个包下。 组件测试配置文件中 jacoco-maven 插件的 Maven pom.xml 如下所示:

            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>${jacoco-maven-plugin.version}</version>
            <configuration>
              <dataFile>${project.testresult.directory}/coverage/jacoco-ct/jacoco-ct.exec</dataFile>
              <outputDirectory>${project.testresult.directory}/coverage/jacoco-ct</outputDirectory>
              <destFile>${project.testresult.directory}/coverage/jacoco-ct/jacoco-ct.exec</destFile>
              <excludes>
                <exclude>**/model/**</exclude>
                <exclude>**/models/**</exclude>
                <exclude>**/queries/**</exclude>
                <exclude>**/**/queries</exclude>
                <exclude>**/**/query</exclude>
                <exclude>**/generated/**</exclude>
                <exclude>**/**/constants/**</exclude>
              </excludes>
            </configuration>
            <executions>
              <execution>
                <id>pre-unit-tests</id>
                <goals>
                  <goal>prepare-agent</goal>
                </goals>
              </execution>
              <execution>
                <id>post-unit-test</id>
                <phase>test</phase>
                <goals>
                  <goal>report</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>

在 Jenkins 文件中,我使用以下代码发布测试结果

jacoco(execPattern: 'app/target/test-results/coverage/jacoco-ct/jacoco-ct.exec',
                                    classPattern: 'app/target/test-results/coverage/jacoco-ct/**.class',
                                    sourcePattern: 'src/main/java',
                                    exclusionPattern: 'src/test*')

在 Jenkins 的 jacoco 代码覆盖发布阶段,我得到以下结果:


[JaCoCo plugin] Collecting JaCoCo coverage data...

[JaCoCo plugin] app/target/test-results/coverage/jacoco-ct/jacoco-ct.exec;app/target/test-results/coverage/jacoco-ct/**.class;src/main/java; locations are configured

[JaCoCo plugin] Number of found exec files for pattern app/target/test-results/coverage/jacoco-ct/jacoco-ct.exec: 0

[JaCoCo plugin] Saving matched execfiles:  

[JaCoCo plugin] Saving matched class directories for class-pattern: app/target/test-results/coverage/jacoco-ct/**.class: 

[JaCoCo plugin] Saving matched source directories for source-pattern: src/main/java: 

[JaCoCo plugin] Source Inclusions: **/*.java,**/*.groovy,**/*.kt,**/*.kts

[JaCoCo plugin] Source Exclusions: 

[JaCoCo plugin] Loading inclusions files..

jacoco 代码覆盖率插件无法获取 exec 文件。尽管 jacoco publisher 能够从同一文件夹中生成的 index.html 中获取结果。我需要 jacoco 代码覆盖才能工作。任何帮助表示赞赏

jenkins-pipeline jenkins-plugins jacoco jacoco-maven-plugin
© www.soinside.com 2019 - 2024. All rights reserved.