我可以很容易地在NetBeans中获得代码覆盖率报告,但将以下内容添加到我的项目pom.xml
:
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.7.201606060606</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>
然而,我的团队的其他成员不希望在项目源存储库中包含JaCoCo依赖项。他们从Eclipse中的EclEMMA获得IDE代码覆盖,CI链中还有其他系统进行代码质量检查。
我目前最好的解决方案是在本地工作时将JaCoCo插件节复制/粘贴到POM中,然后在提交到SCM之前将其删除。有没有更好的方法可以在不编辑POM的情况下查看NetBeans的覆盖率?
这不是最好的解决方案,但如果您有一个好的SCM,如Git或Mercurial您可以使用添加了Jacobo的本地(=私有)"覆盖分支"。
如果已经准备好检查一些工作,请切换到该分支,与您的开发分支合并/重组基础,然后运行jacoco。这样你就可以在任何时候回到干净的pom,你就不会有烦人的手动副本&粘贴工作。dev分支在任何时候都不会包含您的更改,而且您不能意外地提交它。
还可以处理覆盖分支并将提交合并回dev分支。
Ps。如果您正在使用例如SVN或CVS,您可能会迷失方向…