maven配置JaCoCo
maven配置JaCoCo
- jacoco 文档 https://www.eclemma.org/jacoco/trunk/doc/maven.html
- https://www.eclemma.org/jacoco/trunk/doc/prepare-agent-mojo.html
jacoco支持对单元测试的结果生产覆盖率报告。下面看在项目中配置。
pom.xml 文件添加如下 jacoco插件引用。
```
其中包含(includes)或排除(excludes)字段的值应该是相对于目录/ classes /的编译类的类路径(而不是包名),使用标准通配符语法:
排除规则
- Match zero or more characters
** Match zero or more directories
? Match a single character
com// //可以设置只分析某部分对代码com/src/
生成jacoco覆盖率文件
在执行mvn命令时,加上“org.jacoco:jacoco-maven-plugin:prepare-agent”参数即可。 示例:
mvn clean test org.jacoco:jacoco-maven-plugin:0.8.3:prepare-agent install -Dmaven.test.failure.ignore=true
其中,jacoco-maven-plugin后面跟的是jacoco的版本; 【-Dmaven.test.failure.ignore=true】建议加上,否则如果单元测试失败,就会直接中断,不会产生.exec文件
生产jacoco.exec文件 命令
mvn clean test org.jacoco:jacoco-maven-plugin:0.8.3:prepare-agent install -Dmaven.test.failure.ignore=true
注:当与 jenkins集成时,也是依赖项目中当exec文件生成覆盖率报告。
生成覆盖率文件 html (必须前一步执行成功,有jacoco.exec文件) 打开上面的html 文件
mvn org.jacoco:jacoco-maven-plugin:0.8.3:reportQ1: 执行时 jacoco 覆盖率文件没有生成。
Skipping JaCoCo execution due to missing execution data file.
原因是 jacoco 插件适用了参数 argline.和 maven-surefire-plugin argLine冲突。
解决1: 删除maven-surefire-plugin插件下的 argLine配置。
解决2: maven-surefire-plugin插件下的 argLine配置.放在全局位置。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现