JaCoCo在Eclipse、Maven中的使用
JaCoCo在Eclipse中的插件是EclEmma(2.0之后版本,2.0之前是Emma),下载地址:http://www.eclemma.org/download.html.
1. 用EclEmma检查JUnit覆盖率
在测试类或测试类的某个方法上点击右键,选择Coverage As-JUnit Test运行EclEmma。如果在单元测试类上点击右键,检查的是测试类所有方法的覆盖率,如果在某个方法上点击右键,检查的是选中方法的覆盖率。运行后在Java编辑器上标示源码的覆盖情况:
绿色:表示该行代码被完整的执行
红色:表示该行代码没有被执行
黄色:表示该行代码部分被执行
在EclEmma视图中可以看到覆盖率统计结果
通常情况下,很难执行一次单元测试覆盖到所有代码,这时候可以在多次执行Coverage 后点击合并session按钮,合并多次覆盖测试的结果。
选择要合并的session
2. 导出session
选择导出的格式
3. 导入session
只能导入JaCoCo execution data file格式的文件
4.配置Maven插件
</plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>pre-test</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>post-test</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.4.201502262128</version>
</plugin>
</plugins>
</pluginManagement>
执行maven命令clean install,即可在target/site/jacoco中生成html格式的报告。