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
就可以看到覆盖率的页面了