IDEA中使用Jacoco统计单元测试的代码覆盖率

一:使用IDEA自带的代码覆盖率工具

1.查看配置(因为都是默认的,所以不用修改)

点击Edit Configurations
在这里插入图片描述
点击上方的设置图标用以修改整个Junit的配置,或者也可以点击具体的单元测试文件来修改该文件的配置
在这里插入图片描述
默认方式是IntelliJ IDEA
在这里插入图片描述
2.测试

选择想要测试的单元测试文件或者文件夹,右键Run with Coverage
在这里插入图片描述
成功后会出现统计信息
在这里插入图片描述
3.重要!!!

单元测试的结构目录必须与源码的工程目录相同,例如:
在这里插入图片描述
否则,可能会出不来统计信息
在这里插入图片描述

二:使用IDEA集成Jacoco(IDEA版本可能会有不同)

1.pom文件增加

        <dependency>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.8.2</version>
        </dependency>
        
        <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.8.2</version>
                <configuration>
                    <destFile>target/coverage-reports/jacoco-unit.exec</destFile>
                    <dataFile>target/coverage-reports/jacoco-unit.exec</dataFile>
                </configuration>
                <executions>
                    <execution>
                        <id>jacoco-initialize</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <!--这个report:对代码进行检测,然后生成index.html在 target/site/index.html中可以查看检测的详细结果-->
                    <execution>
                        <id>jacoco-site</id>
                        <phase>package</phase>
                        <!--<phase>test</phase>写上test的时候会自动出现site文件夹,而不需执行下面的jacoco:report步骤,推荐-->
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

刷新maven,会发现多了一个插件
在这里插入图片描述
2.运行测试用例

在插件中选择test或者是命令行运行mvn test
在这里插入图片描述
成功后target文件夹中会出现以下文件夹
在这里插入图片描述
此时.exec文件无法打开,需要使用jacoco插件打开。点击右侧jacoco插件
在这里插入图片描述
target文件夹中会多出一个site文件夹
在这里插入图片描述
点击里面的index.html文件,用浏览器打开即可看到测试报告
在这里插入图片描述
3.一个遇到的坑
工程目录最好不要有中文,如果有中文生成的.exec文件夹会包含乱码,然后生成到其他文件夹中(C/D盘根目录),此时jacoco插件在target文件夹中就找不到.exec文件,导致测试结果一直出不来

### 配置 Jacoco 进行单元测试代码覆盖率分析 #### 修改默认 JUnit 测试配置以启用 Jacoco 覆盖率统计 为了在 IntelliJ IDEA 中利用 Jacoco单元测试执行代码覆盖率分析,需调整 `Run/Debug Configurations` 设置。具体操作是在 `Run/Debug Configuration` 下找到并选择 `JUnit` 类型的任务,在其属性面板内的 `Code Coverage` 选项卡里指定使用 Jacoco 作为覆盖度量器[^1]。 ```bash # 执行路径如下: Run/Debug Configuration -> JUnit -> Code Coverage -> Modify -> Specify alternative coverage runner -> Choose coverage runner -> Jacoco ``` #### 创建或编辑现有测试配置项 通过点击顶部菜单栏中的 `Edit Configurations...` 来访问全局配置界面或是针对特定测试类别的局部设定。对于希望应用 Jacoco 的任何给定测试套件而言,默认情况下会选择内置的 IntelliJ IDEA 工具;此时应切换至 JaCoCo 方案以便获取更精确的结果[^2]。 #### 启动带有覆盖率测量功能的测试会话 完成上述更改之后,当启动选定的 JUnit 测试时,IntelliJ 就会在后台激活 Jacoco 插件来跟踪哪些源码部分被执行过以及未触及之处。最终得到的数据将以直观的颜色编码形式展示于 IDE 内部视图之中——绿色代表完全命中、红色表示完全没有到达而黄色则意味着仅有部分内容得到了检验[^3]。 #### 查看与解释生成的覆盖率报告 一旦完成了所有必要的测试案例执行过程,则可以通过导航到相应的模块目录下寻找由 Jacoco 自动生成的 HTML 报告文件夹。这些文档提供了关于应用程序整体健康状况的重要见解,并有助于识别潜在的风险区域从而指导后续优化工作[^4]。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值