1、简介

Jacoco 是一个开源的覆盖率工具。Jacoco 可以嵌入到 Ant 、Maven 中,并提供了 EclEmma Eclipse 插件,也可以使用 JavaAgent 技术监控 Java 程序。很多第三方的工具提供了对 Jacoco 的集成,如 sonar、Jenkins 等。之所以在此引入 Jacoco 是因为在使用 Cobertura 的时候,不能完全的适配 Jdk 8 Lambda 表达式,而 Jacoco 可以适配。

2.pom 文件中配置 Jacoco 插件

<plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.8.1</version>
                <configuration>
                    <excludes>
                        <!-- 这里配置我们想要排除的包路径 -->
                        <exclude>com/rcplatform/athena/shorturl/models/*</exclude>
                        <!-- 通过通配符来排除指定格式的类 -->
<!--                        <exclude>**/*ShortUrl.class</exclude>-->
<!--                        <exclude>**/*ShortUrlVisit.class</exclude>-->
                    </excludes>
                </configuration>

                <executions>
                    <execution>
                        <id>prepare-agent</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>report</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>post-unit-test</id>
                        <phase>test</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                        <configuration>
                            <dataFile>target/jacoco.exec</dataFile>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

3.运行 Jacoco

mvn install //运行jacoco,执行单元测试代码
mvn jacoco:report //生成报告

4.查看报告

进入项目 /target/site/ ,其下的整个 Jacoco-ut 都是报告相关内容,可以点击 index.html 进行具体查看
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐