Java maven项目打包自动测试并集成jacoco生成代码测试覆盖度报告

引入Junit

引入 junit5 单元测试依赖

xml 复制代码
		<properties>
	        <junit.version>5.10.2</junit.version>
	        <jacoco.version>0.8.12</jacoco.version>
	    </properties>
	    
	    <dependencies>
            <!-- 单元测试 -->
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-api</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-engine</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>
         </dependencies>

引入插件

引入 jacoco

xml 复制代码
		<properties>
	        <jacoco.version>0.8.12</jacoco.version>
	    </properties>
	    
	    <build>
			<plugins>
			    <plugin>
	                <groupId>org.jacoco</groupId>
	                <artifactId>jacoco-maven-plugin</artifactId>
	                <version>${jacoco.version}</version>
	                <executions>
	                    <execution>
	                        <id>prepare-agent</id>
	                        <goals>
	                            <goal>prepare-agent</goal>
	                        </goals>
	                    </execution>
	                    <execution>
	                        <id>report</id>
	                        <!-- 这是指定生成报告时期,注意一定要在test之后 -->
	                        <phase>prepare-package</phase>
	                        <goals>
	                            <goal>report</goal>
	                        </goals>
	                    </execution>
	                </executions>
	                <configuration>
	                	<!-- 这是报告生成位置 target/site/jacoco -->
	                    <outputDirectory>${project.reporting.outputDirectory}/jacoco</outputDirectory>
	                </configuration>
	            </plugin>
	        </plugins>
        </build>

引入 maven-surefire-plugin 插件

xml 复制代码
		<properties>
	        <jacoco.version>0.8.12</jacoco.version>
	    </properties>
	    
	    <build>
			<plugins>
			    <plugin>
	                <groupId>org.apache.maven.plugins</groupId>
	                <artifactId>maven-surefire-plugin</artifactId>
	                <version>3.2.5</version>
	            </plugin>
	        </plugins>
        </build>

配置完成后执行 mvn clean install 生成报告如下:

相关推荐
摇滚侠几秒前
Java 项目教程《黑马商城》微服务拆分 20 - 22
java·分布式·架构
树下水月1 分钟前
Easyswoole 框架session在高并发/频繁请求下数据丢失问题记录
java·后端·spring
冻感糕人~2 分钟前
大模型面试干货:小白程序员如何准备,轻松拿下高薪Offer?收藏这份独家秘籍!
java·人工智能·学习·ai·面试·职场和发展·大模型学习
2501_9127840810 分钟前
反向海淘系统架构设计:1688 自动代采与微服务高并发实战解析
java·微服务·系统架构
风筝在晴天搁浅16 分钟前
字节/蚂蚁/美团/拼多多 LeetCode 165.比较版本号
java·leetcode
@#¥&~是乱码鱼啦18 分钟前
AOP底层:动态代理执行流程(“断点之谜“)
java·开发语言
page_qiu33 分钟前
高并发&大数据量&毫秒级响应系统设计方案
java·前端·数据库·高并发·高响应
Filwaod1 小时前
Java面试现场:从Redis缓存到分布式事务,水货程序员李四的‘表演‘
java·jvm·spring boot·redis·mysql·面试·多线程
铁皮哥1 小时前
【后端开发】@Resource 和 @Autowired 到底有什么区别?为什么现在更推荐构造方法注入?
java·ide·spring boot·tomcat·log4j·idea·intellij idea
众创岛1 小时前
web自动化中的日志模块
java·前端·自动化