java springboot 项目,配置单元测试,并要求到达一定的代码覆盖率。
在 maven pom.xml 文件中,需要注意以下几点。
跳过测试阶段改为false。
| 12
 3
 
 | <properties><maven.test.skip>false</maven.test.skip>
 </properties>
 
 | 
build 阶段,skip 要改为 false。
如果只要单元测试指定类,就在 include 标签里面指定。
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 
 | <build><plugins>
 <plugin>
 <groupId>org.apache.maven.plugins</groupId>
 <artifactId>maven-surefire-plugin</artifactId>
 <version>2.22.0</version>
 <configuration>
 <skip>false</skip>
 <includes>
 <include>**/XXXTest</include>
 </includes>
 </configuration>
 </plugin>
 </plugins>
 </build>
 
 | 
配置单元测试依赖,mockito-core 如果配置成4版本会有其他问题。
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 
 | <dependency>
 <groupId>org.jacoco</groupId>
 <artifactId>jacoco-maven-plugin</artifactId>
 <version>0.8.12</version>
 <scope>test</scope>
 </dependency>
 <dependency>
 <groupId>junit</groupId>
 <artifactId>junit</artifactId>
 <version>4.13.2</version>
 <scope>test</scope>
 </dependency>
 <dependency>
 <groupId>org.mockito</groupId>
 <artifactId>mockito-core</artifactId>
 <version>3.12.4</version>
 <scope>test</scope>
 </dependency>
 
 | 
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 
 | <build><pluginManagement>
 <plugins>
 <plugin>
 <groupId>org.jacoco</groupId>
 <artifactId>jacoco-maven-plugin</artifactId>
 <version>0.8.12</version>
 </plugin>
 </plugins>
 </pluginManagement>
 <plugins>
 
 <plugin>
 <groupId>org.jacoco</groupId>
 <artifactId>jacoco-maven-plugin</artifactId>
 <executions>
 <execution>
 <goals>
 <goal>prepare-agent</goal>
 </goals>
 </execution>
 <execution>
 <id>report</id>
 <phase>test</phase>
 <goals>
 <goal>report</goal>
 </goals>
 </execution>
 </executions>
 </plugin>
 </plugins>
 </build>
 
 | 
配置结束后,点击 Lifecycle 下面的 test,通过html文件 \target\site\jacoco\index.html 就可以看到覆盖率的页面了