在许多开发场景中,代码覆盖率报告犹如一面照妖镜,那些被标红的未执行分支、catch块以及空值路径,往往隐藏着潜在的风险。Trae能够基于这份报告,精准定位覆盖缺口并自动生成补测代码,帮助你逐一修复这些漏洞。具体如何操作?下面逐步拆解。

首先,你需要确保项目中已经存在部分测试用例,否则Trae无法获取覆盖率数据源,也就无法开展工作。假设你已经拥有了一批测试,现在希望为某个Java方法补全缺失的用例——那些被标红的if分支、catch块或return null语句,都是需要重点补测的对象。
定位未覆盖的代码路径
打开IntelliJ IDEA,找到待测类,右键选择Run 'xxxTest'(或直接点击测试类上方的绿色三角形),执行全部测试。测试运行完成后,点击底部工具栏的Coverage按钮,在弹出窗口中双击目标方法名。此时你会看到——未执行的行会以淡红色高亮显示,鼠标悬停上去还能看到具体分支提示,例如“branch 2 not taken”。这一步的关键在于,必须先运行现有测试,否则覆盖率报告会显示为空。
针对未覆盖行生成补测用例
定位到高亮行之后,如何让Trae自动生成补测代码?这里提供两种常用方法。
方法一:光标定位法
将光标精确放置在Coverage窗口中高亮的那行代码上——比如某个if条件判断语句、catch块的第一行或return null语句。右键选择Generate AI Tests,Trae会自动分析该行所属的控制流,生成能触发该路径的输入组合和断言。这种方式简单直接,精准打击。
方法二:调用点强化法
在测试类中找到被测方法的某次调用语句,例如service.process(null)。将光标放在这整行上,右键选择Generate AI Tests,在弹窗中勾选Include null and empty value cases,然后点击Confirm。Trae会复用已有的setup逻辑,仅新增assert和参数变体,不会重复生成@BeforeEach代码,省心省力。
注意:如果该行调用本身已经存在,Trae不会重复创建,只会补充缺失的断言和参数变体。
验证补测是否生效
补测代码编写完成后,需要验证是否真的覆盖了之前未跑到的路径。
第一步:保存当前测试文件。
第二步:再次点击绿色三角形运行该测试类。
第三步:重新打开Coverage工具窗口,刷新视图,检查原本淡红色的高亮行是否变成了绿色或灰色——绿色表示已执行,灰色表示已覆盖但未执行(通常不会出现)。
第四步:如果还有未覆盖的行,重复上述任一方法,但此时必须确保光标落在新出现的高亮行上——Trae不会跨行批量补全,每次只响应当前光标所在位置的路径缺口。
整个流程下来,覆盖率报告中的红色区域会逐步被绿色填满,代码质量自然随之提升。
