最初配置如下:
<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。但是但與測試數(shù)量不為0.
而配置的 sonar :
- 單元測試數(shù)基于 maven-surefire-plugin 插件
- 單元測試覆蓋率基于 jacoco-maven-plugin 插件。
發(fā)現(xiàn) maven 執(zhí)行后沒有 jacoco.exec 文件。導(dǎo)致 sonar 單元測試覆蓋率為 0。并且沒有下面的 jacoco 結(jié)果文件:jacoco.exec。
查看 jacoco-maven-plugin 文檔。發(fā)現(xiàn)是 maven-surefire-plugin 的 argLine 參數(shù)導(dǎo)致 Jacooco 未執(zhí)行。 于是按照官方文檔在 argLine 參數(shù)前添加 @{argLine} ,修復(fù)后如下:文章來源:http://www.zghlxwxcb.cn/news/detail-514087.html
<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>
參考:文章來源地址http://www.zghlxwxcb.cn/news/detail-514087.html
- https://www.jacoco.org/jacoco/trunk/doc/prepare-agent-mojo.html
到了這里,關(guān)于maven sonar 掃描單元測試覆蓋率為0,但是單元測試數(shù)不為0的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!