gpt4 book ai didi

java - Maven 代码覆盖率

转载 作者:太空宇宙 更新时间:2023-11-04 07:07:37 25 4
gpt4 key购买 nike

我是java世界的新手。我们的团队正在使用 Maven 将所有内容构建到单个 .war 文件中。我正在寻找工具来检测 .war 文件以启用代码覆盖率。想法是手动检测 .war 文件,然后运行测试。

我查看了几个工具,但没有得到我想要的东西,例如Emma、jester、cobertura 等。寻找简单的说明。

最佳答案

如果您想测量代码覆盖率,您应该使用 Jacoco。它还允许测量单元测试和集成测试。

您所要做的就是添加依赖项:

  <dependency>
<groupid>org.jacoco</groupid>
<artifactid>org.jacoco.core</artifactid>
<version>0.6.2.201302030002</version>
<scope>test</scope>
</dependency>

并添加 jacoco-maven-plugin。请注意,如果您不使用 Sonar,则必须将 ${sonar.jacoco.reportPath} 属性替换为原始文件路径

<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.6.2.201302030002</version>
<executions>
<!-- prepare agent for measuring unit tests -->
<execution>
<id>prepare-unit-tests</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<destFile>${sonar.jacoco.reportPath}</destFile>
</configuration>
</execution>

<!-- prepare agent for measuring integration tests -->
<execution>
<id>prepare-integration-tests</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<phase>pre-integration-test</phase>
<configuration>
<destFile>${sonar.jacoco.itReportPath}</destFile>
<propertyName>itCoverageAgent</propertyName>
</configuration>
</execution>
</executions>
</plugin>

如果您还想使用声纳,请指定以下属性:

<properties>
<!-- select JaCoCo as a coverage tool -->
<sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
<!-- force sonar to reuse reports generated during build cycle -->
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
<!-- set path for unit tests reports -->
<sonar.jacoco.reportPath>${project.basedir}/target/jacoco-unit.exec</sonar.jacoco.reportPath>
<!-- all modules have to use the same integration tests report file -->
<sonar.jacoco.itReportPath>${project.basedir}/../target/jacoco-it.exec</sonar.jacoco.itReportPath>
</properties>

您可以在 http://www.kubrynski.com/2013/03/measuring-overall-code-coverage-in.html 上找到更多详细信息

关于java - Maven 代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21109349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com