Jacoco是一个开源的Java代码覆盖率工具,Jacoco可以嵌入到Ant 、Maven中,并提供了EclEmma Eclipse插件,也可以使用JavaAgent技术监控Java程序。很多第三方的工具提供了对Jacoco的集成,如sonar、Jenkins等。

Maven工程

配置Jacoco

添加maven-complier-plugin

<plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <encoding>utf8</encoding>
                </configuration>
            </plugin>

添加jacoco-maven-plugin

<plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.8.1</version>
                <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>
                    <execution>
                        <id>post-test-aggregate</id>
                        <phase>test</phase>
                        <goals>
                            <goal>report-aggregate</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

然后运行mvn test 或者mvn install

我们可以看到target目录下,已经生成了Jacoco的单元测试结果报告

Maven工程配置代码覆盖工具Jacoco_Java

index.html 用浏览器打开就是报告

Maven工程配置代码覆盖工具Jacoco_Java_02

Maven工程配置代码覆盖工具Jacoco_Java_03

Maven工程配置代码覆盖工具Jacoco_html_04

红色表示未覆盖,绿色表示覆盖到了,黄色表示覆盖到分支了