java springboot 项目,配置单元测试,并要求到达一定的代码覆盖率。
在 maven pom.xml 文件中,需要注意以下几点。
跳过测试阶段改为false。
1 2 3
   | <properties>     <maven.test.skip>false</maven.test.skip> </properties>
   | 
 
build 阶段,skip 要改为 false。
如果只要单元测试指定类,就在 include 标签里面指定。
1 2 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版本会有其他问题。
1 2 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>
 
  | 
 
1 2 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 就可以看到覆盖率的页面了