对于jcoco的使用有两种方式:
1、直接使用eclipse插件,缺点:不能生成报告,只能在eclipse上查看效果
2、使用maven插件
1、采用线上安装的方式:
图解步骤:
成功标志:
测试:(使用方式与run as一致)
结果分析:绿色是指本次测试所执行到的地方,红色则是没有执行到的地方
也可查看具体每个类每个方法的被覆盖情况:
2、使用maven得到的效果与前边一样
步骤:在pom中加入jcoco插件并指定报告的生成路径
<!-- jacoco plugin --> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.6.4.201312101107</version> <executions> <execution> <!-- 在maven的initialize阶段,将Jacoco的runtime agent作为VM的一个参数 传给被测程序,用于监控JVM中的调用。 --> <id>default-prepare-agent</id> <goals> <goal>prepare-agent</goal> </goals> <configuration> <destFile> ${project.build.directory}/coverage-reports/jacoco.exec </destFile> <propertyName>surefireArgLine</propertyName> </configuration> </execution> <!-- 在程序的verify阶段,执行report测试的程序。 文件的输入为perpare-agent阶段中设置或者默认的jacoco.exec. 参数 includes和excludes可用来选定report中过滤的类。 --> <execution> <id>default-report</id> <phase>test</phase> <goals> <goal>report</goal> </goals> <configuration> <dataFile>${project.build.directory}/coverage-reports/jacoco.exec</dataFile> <outputDirectory>${project.reporting.outputDirectory}/jacoco</outputDirectory> </configuration> </execution> </executions> </plugin> <!-- 使用 maven-surefire-plugin来执行单元测试。 将surefireArgLine赋值给argLine参数,以保证在测试执行时Jacoco agent处于运行状态。 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.16</version> <configuration> <argLine>${surefireArgLine}</argLine> </configuration> </plugin>
使用:run as -> maven test(maven会自动下载相应的plugin然后生成相应的报告)
打开后的效果与用eclipse插件的效果是一样的~~
有研究的伙伴交流一下经验哈,刚接触还不大会用,THX
时间: 2024-11-26 09:58:53