0


maven sonar 扫描单元测试覆盖率为0,但是单元测试数不为0

最初配置如下:

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.18.1</version>
                <configuration>
                    <testFailureIgnore>true</testFailureIgnore>
                    <argLine>-Dfile.encoding=utf-8</argLine>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.8.1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>prepare-agent</goal>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

sonar 扫描后的单元测试覆盖率为0。但是但与测试数量不为0.

而配置的 sonar :

  • 单元测试数基于 maven-surefire-plugin 插件
  • 单元测试覆盖率基于 jacoco-maven-plugin 插件。

发现 maven 执行后没有 jacoco.exec 文件。导致 sonar 单元测试覆盖率为 0。并且没有下面的 jacoco 结果文件:jacoco.exec。
在这里插入图片描述
查看 jacoco-maven-plugin 文档。发现是 maven-surefire-plugin 的 argLine 参数导致 Jacooco 未执行。 于是按照官方文档在 argLine 参数前添加 @{argLine} ,修复后如下:

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.18.1</version>
                <configuration>
                    <testFailureIgnore>true</testFailureIgnore>
                    <argLine>>@{argLine} -Dfile.encoding=utf-8</argLine>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.8.1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>prepare-agent</goal>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

参考:

标签: 单元测试 maven java

本文转载自: https://blog.csdn.net/zhy1379/article/details/129214900
版权归原作者 1379號监听猿 所有, 如有侵权,请联系我们删除。

“maven sonar 扫描单元测试覆盖率为0,但是单元测试数不为0”的评论:

还没有评论