当前位置: 首页> 教育> 高考 > 网站正能量晚上下载直接进入_进口手表网站_游戏广告联盟平台_seo优化公司信

网站正能量晚上下载直接进入_进口手表网站_游戏广告联盟平台_seo优化公司信

时间:2025/7/11 20:07:42来源:https://blog.csdn.net/weixin_70874886/article/details/142063490 浏览次数:0次
网站正能量晚上下载直接进入_进口手表网站_游戏广告联盟平台_seo优化公司信

【本文前提是了解maven项目及其Pom.xml机制,不熟悉可以看该博客的0.Pre部分Auto-Unit-Test-Case-Generator -- java项目自动测试生成-CSDN博客】

JaCoCo(Java Code Coverage)是一个开源的代码覆盖率工具,专门用于测量 Java 应用程序的代码覆盖率。

注意,测试覆盖率自然是在src/test目录下的某个包/类:

myproject/
├── .gitignore
├── pom.xml
├── README.md
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/
│   │   │       └── example/
│   │   │           └── MyMainClass.java
│   │   ├── resources/
│   │   │   ├── application.properties
│   │   │   └── log4j.properties
│   │   └── webapp/
│   │       ├── WEB-INF/
│   │       │   └── classes/
│   │       └── index.html
│   └── test/
│       ├── java/
│       │   └── com/
│       │       └── example/
│       │           └── MyMainClassTest.java
│       └── resources/
│           └── test-application.properties
└── target/├── classes/│   ├── com/│   │   └── example/│   │       └── MyMainClass.class│   ├── application.properties│   └── log4j.properties├── generated-sources/├── maven-archiver/│   └── pom.properties├── maven-status/├── test-classes/├── test/│   └── com/│       └── example/│           └── MyMainClassTest.class├── surefire-reports/└── classes/

Step1:准备工作-修改pom.xml:

1.1 添加插件1--maven-surefire-plugin:

【注意{argLine}】

插件添加位置:如前文的项目树状图,我要测试myproject,那就在同级的pom.xml内添加即可,下同;

通过使用 ${argLine},你可以在其他地方(如父 POM 或其他插件配置)定义的 argLine 值被继承下来。这使得你可以集中管理 JVM 参数,而不是在每个插件配置中重复定义。

 <build><plugins>   <!-- 以下是需要复制的内容,以上是方便查找复制的位置-->      <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.22.2</version><configuration><argLine> ${argLine} </argLine><forkCount>4</forkCount><reuseForks>true</reuseForks> </configuration></plugin>

1.2 添加插件2--Jacoco:

 <build><plugins>   <!-- 以下是需要复制的内容,以上是方便查找复制的位置-->   
<plugin><groupId>org.jacoco</groupId><artifactId>jacoco-maven-plugin</artifactId><version>0.8.7</version><executions><execution><id>pre-test</id><goals><goal>prepare-agent</goal></goals></execution><execution><id>post-test</id><phase>test</phase><goals><goal>report</goal></goals></execution></executions>
</plugin>

Step2:运行如下命令: 

执行路径在: src/test下的某级目录;如下图,我是在子模块目录下执行的;

mvn test jacoco:report 

2.1 运行结果:

[INFO] --- jacoco-maven-plugin:0.8.7:report (post-test) @ aa-bb-xx ---

[INFO] Loading execution data file /home/xx/target/jacoco.exec

[INFO] Analyzed bundle 'aa :: bb :: xx' with 133 classes

[INFO] BUILD SUCCESS

2.1.2如果 报错如下,那就是没有加{argLine}的原因:

[INFO] --- jacoco-maven-plugin:0.8.7:report (report) @ aa-bb-xx ---

[INFO] Skipping JaCoCo execution due to missing execution data file.

报错解释:

意味着 JaCoCo 插件在尝试生成覆盖率报告时没有找到必要的执行数据文件。通常,JaCoCo 会在运行测试时生成一个或多个执行数据文件(通常是 .exec 文件),这些文件包含了覆盖率信息。如果这些文件不存在或找不到,JaCoCo 插件就无法生成覆盖率报告。

Step3:覆盖率报告文件位置:

生成/target/site/jacoco/; 其中的index.html打开即可看到覆盖率报告;

附:dependency vs plugin:

  • 依赖项[通过 <dependencies> 标签配置],项目运行/构建过程中需要的库.e.g.函数需要的库
  • 构建插件[通过 <plugins> 标签配置]  ,执行特定任务的工具.e.g.生成测试覆盖率报告

关键字:网站正能量晚上下载直接进入_进口手表网站_游戏广告联盟平台_seo优化公司信

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: