用途:当任务涉及 sf apex run test 工作流、Apex 单元测试失败、代码覆盖率分析、定位未覆盖行与缺失测试场景,或结构化测试-修复循环时,使用本技能。编写或重构生产 Apex 应改用 generating-apex,测试 Agentforce 用 testing-agentforce,用 Jest 测试 LWC 用 generating-lwc-components。
使用前需收集:目标 org 别名、测试范围(单类、指定方法、套件或本地测试)、覆盖率阈值期望、仅诊断还是执行修复循环、是否已有测试数据工厂。
推荐流程:先发现测试范围(已有测试类、目标生产类、数据工厂/辅助方法);调试失败时先运行最小测试集,稳定后再扩大;分析失败方法、异常类型与堆栈、未覆盖行及弱覆盖区域,判断问题源于测试数据、脆弱断言还是生产逻辑;再进行修复循环,必要时把代码修复交给 generating-apex,增改测试后先重跑聚焦测试再回归;最后有意补齐正向、异常、批量(251+ 记录)及 callout/异步路径的覆盖。
关键规则:默认 SeeAllData=false 保证测试隔离;每个测试必须断言有意义的结果;用 251+ 记录测试批量行为(触发器每批 200 条);可用工厂或 @TestSetup 统一造数并在测试方法间回滚;异步需 Test.startTest() 配 Test.stopTest();不要在测试中隐藏不稳定的 org 依赖。
常见坑:本地通过但 CI 失败多为 SeeAllData=true 或依赖特定记录;重构后覆盖率骤降可先跑类级测试再扩到 RunLocalTests;callout 测试报 Uncommitted work pending 是因 DML 与 HTTP 混用未用 Test.startTest() 包裹;Mock 未生效需确保先调用 Test.setMock();@TestSetup 数据按方法提交,应重新查询而非存静态变量。
输出顺序:运行的测试、通过/失败汇总、覆盖率结果、根因发现、修复或下次运行建议。评分 108+ 为强生产级信心,96–107 良好,84–95 可接受但需加强,低于 84 需修订。技能包含 CLI 命令、测试模式、最佳实践、修复循环、Mock 模式等参考文件,以及基础/批量/mock callout 测试、数据工厂、DML mock、StubProvider 等模板和解析测试结果的 hook 脚本。具体命令与代码以技能文件为准。