SuperAPI AI 工具集

testing-codegen

测试与质量

查看项目

更新于 10-15 17:26

技能介绍

用途:在 Biome 仓库中做出代码改动后,选择并运行能覆盖改动行为的最小测试,必要时再扩大范围;同时处理 insta 快照工作流、期望注释、孤立快照检查与必需的代码生成。

测试选择:改动 Lint 规则用 just test-lintrule <ruleName>;单个 crate 用 cargo test -p <crate> 或该 crate 的聚焦测试目标;解析器或格式化器调查用 just qt <package>;CLI 迁移用聚焦的 biome_cli 迁移测试;文档代码用 just test-doc。仅在需要诊断输出时加 -- --show-output 或 --nocapture。快速测试是检查 CST、格式化 IR 或单个分析器查询的临时空间,持久行为应在完成前放入子系统的常规 fixture 目录。

快照:先运行聚焦测试生成待定快照;无关测试失败单独对待;不要手动更新、添加或删除快照,交给 insta。代理不得运行未过滤的 cargo insta review(需要 TTY)。在非 TTY 中可用 cargo insta pending-snapshots --workspace 和 cargo insta review --workspace --snapshot '<path>',检查完整 diff 后用 --snapshot 参数逐个 accept 或 reject,再次列出待定快照并重跑测试。禁止未过滤的 accept/reject、test --accept、test --force-update-snapshots 与 INSTA_UPDATE=always/force。

孤立快照:不要手动删除;只有在完整工作区快照套件无过滤运行后(cargo insta test --workspace --unreferenced delete)才可安全删除;局部运行用 --unreferenced warn 或 reject。每次删除都要检查。

其他:调用 run_cli 的新增或变更测试必须用 assert_cli_snapshot 等快照完整会话;分析器 fixture 放在 tests/specs/<group>/<rule>/;诊断期望注释为 should generate diagnostics / should not generate diagnostics;解析器 fixture 用 ok/ 与 error/ 目录;格式化器用内部 specs;所需代码生成用 just gen-grammar、just gen-formatter、just gen-rules、just gen-configuration、just gen-bindings,提交要求以根 AGENTS.md 为准;不要在脏工作树运行 just ready。