idea 单元测试_IDEA自动生成单元测试代码和代码覆盖率报表

本文介绍了如何在IntelliJ IDEA中创建单元测试,包括创建项目、测试类,设置测试源根目录,运行测试,编辑测试配置,以及查看代码覆盖率。通过Cmd + Shift + T快捷键生成测试类,使用JUnit 4进行单元测试,通过Run配置进行覆盖率分析,未被测试覆盖的代码在编辑器中以红色高亮显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java识堂,一个高原创,高收藏,有干货的微信公众号,一起成长,一起进步,不信你关注试试?

本文将展示如何使用IntelliJ IDEA开发单元测试和分析覆盖率。

1 创建新的项目

创建名为UnitTestingApp的Java项目。

922c27fdf24175ea139d077fd54da095.png

2 创建一个类进行测试

创建一个新的类用于测试。

0a4c315beab590c02281d274c868c726.png

添加方法sayHello返回Hello字符串。

690296557586866b6c76f2b51d2a3691.png

3 创建测试源根目录

为了不将测试添加到源中,用户可以创建根目录。在这种情况下测试将从产品代码中分离出来。

创建一个测试源根目录。

9db61db348f7244700a5f3ab25008e84.png

4 创建一个测试类

IntelliJ IDEA提供了一个快捷操作Cmd + Shift + T作为类和测试之间的导航。同时允许用户在那里创建一个测试类。

dd2f3fe55fe6492827d41dd06ac414c7.png

选择JUnit 4作为单元测试库。IntelliJ IDEA将提供到件这个库添加到模块中。选择生成setUp和sayHello的方法。

70ea91408ae07c5116c7270786655168.png

如果项目有几个源根目录,IDE将要求选择其中一个,用于放置新的测试类。

f22545d59527a842a4f504a55d452e2a.png

当测试类生成后,我们可以为我们的测试方法testSayHello添加代码。

13be4909a3839393d31f7c992d6a78f3.png

5 运行测试

现在我们可以通过右键菜单在这个类上运行'MyClassTest'来进行测试,或通过Run → Edit Configurations来进行。

1278a48088f9be2d584680e968b62495.png

结果将在Run工具窗口进行显示。

56ff04063853ea218573c38d83876154.png

6 编辑测试设置

我们可以通过Run → Edit Configurations或工具栏上的标签来调整我们的测试运行配置。

3d159f8d8ce3d98cc6ee4c652a9b2039.png

在Configuration选项卡,用户可以选择需要运行的测试。例如,您可以从一个类、程序包、测试套件或甚至模式中运行所有的测试。这里的Fork模式让用户在一个单独的进程运行每个测试。

e3c9b908e377d65cf74d13bb57b54c71.png

在代码覆盖标签你可以调整覆盖率设置。目前IntelliJ IDEA支持两种测量覆盖率引擎。默认情况下它使用自己的引擎,当然用户也可以选择JaCoCo引擎。用户也可以在这里选择覆盖率模式。Tracing{span{ mode模式会增加消耗,但测量会更精确。

aa946c72c9953625cf0d7e8d062b00be.png

7 运行覆盖

收集覆盖率,用户需要通过Run → Run 'MyClassTest' with Coverage或工具栏上的选项运行特定模式的测试。

b3d789c485e38975e8f0f18adc50c06a.png

当覆盖模式运行至少一个测试之后,IDE将会在Project工具窗口显示每个程序包、类的覆盖率数据,同时在Coverage工具窗和编辑器中也会显示。

f75fbe0e42231004834912a947c2bc7a.png

8 编辑器中的覆盖率

如果用户添加另一个方法到MyClass,并运行覆盖率测MyClass,就会发现,没有被测试覆盖到的代码都将高亮显示为红色。覆盖的代码颜色则是绿色。如果一些代码是只覆盖部分,那没将显示为黄色。

8369e721f64203174cc04c22faf2c174.png
原文:https://my.oschina.net/u/1172191/blog/160662
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值