赞
踩
概要:
我们在开发过程中通常都会编写单元测试用例,而jacoco插件可以在我们打包项目前设置生成单元测试覆盖报告,然后我们可以在浏览器中查看单元测试覆盖率。
1、使用H2内存数据库
首先要注意的是我们单元测试通常不要连接到数据库中,比如测试一个插入数据的接口,如果连接数据库会导致每次打包导致数据插入到数据库中,破坏数据。
引入h2需要jar包:
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>RELEASE</version>
<scope>compile</scope>
</dependency>
并且设置多个properties文件区分单测,研发,测试,生产环境。在单测文件中配置缓存数据库
#单元测试配置
spring.datasource.driver-class-name=org.h2.Driver
#内存模式
spring.datasource.url=jdbc:h2:mem:test
2、配置jacoco插件
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.7.5.201505241946</version> <executions> <execution> <id>default-prepare-agent</id> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>default-report</id> <phase>prepare-package</phase> <goals> <goal>report</goal> </goals> </execution> <execution> <id>default-check</id> <phase>prepare-package</phase> <goals> <goal>check</goal> </goals> <configuration> <rules> <rule> <element>CLASS</element> <includes> <include>com.springboot.web.example.controller.*.*</include> <include>com.springboot.web.example.service.*.*</include> </includes> <limits> <limit> <counter>LINE</counter> <value>COVEREDRATIO</value> <minimum>0.00</minimum> </limit> </limits> </rule> </rules> </configuration> </execution> </executions> </plugin> </plugins> </build>
3、控制台输入mvn clean package
4、拷贝报告文件路径,浏览器打开
红色表示未覆盖,绿色表示覆盖。通常覆盖率要求达到80%左右,具体根据项目情况。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。