用途:为 Agentforce 智能体提供自动化测试能力,覆盖从开发期冒烟测试到生产前回归验证,包括从子智能体自动派生测试语句、追踪分析以及针对问题的迭代修复循环。
主要能力:支持两种测试模式与动作执行。模式 A 为临时预览测试,使用 sf agent preview 的 start/send/end 子命令做快速冒烟测试,无需部署测试套件,适合开发迭代与修复验证;模式 B 为 Testing Center 批量测试,通过 sf agent test create/run/results 部署并运行持久化测试套件,适合回归套件、CI/CD 与跨技能集成。动作执行模式可通过 REST API 直接调用 Flow 或 Apex 动作,用于隔离测试与调试。
使用方式:模式 A 需在 start、send、end 三个子命令上均带 --authoring-bundle,追踪文件写入 .sfdx/agents/{BundleName}/sessions/{sessionId}/traces/{planId}.json,可用 jq 分析主题路由、动作调用、接地、安全评分等。模式 B 使用 YAML 测试规格(AiEvaluationDefinition),字段含 subjectType、subjectName、testCases,其中 expectedActions 使用 Level 2 调用名而非 Level 1 定义名,动作断言为超集匹配,建议始终添加 expectedOutcome。运行结果需用 --job-id 获取,而非 --use-most-recent。
适用场景:编写或修改测试规格 YAML、运行 sf agent test、验证修复、构建回归套件、隔离测试单个 Flow/Apex 动作。
限制与注意:需 sf CLI 2.121.7+、jq 与 python3;Windows 需替换为 PowerShell 等价命令。执行动作前必须做安全门检查(组织是否为沙箱、是否含写操作、仅用合成测试数据)。修复循环最多 3 次迭代。安全判定必须输出 SAFE/UNSAFE/NEEDS_REVIEW。主题名可能与 .agent 文件不同,发布后哈希后缀会漂移,需重新发现。退出码 0 表示全部通过,1 表示部分失败,2 表示阻断部署,3 表示执行错误。