SuperAPI AI 工具集

testing-and-verification

测试与质量

查看项目

更新于 10-16 09:51

技能介绍

用途:指导代码改动后的测试与验证流程,包括格式化、lint、类型检查、单元/集成测试、快照更新,以及在需要时选择浏览器 E2E 测试。

主要能力与用法: 基线检查:改动后运行 moon run root:format root:lint。root 项目常用检查/修复命令对包括 moon run root:format-check、root:format、root:lint、root:lint-fix、root:lint-css、root:lint-css-fix。类型检查使用 moonx <project>:typecheck,或按改动范围运行 moonx :typecheck --affected;moon 会自动先构建工作区依赖。

单元与集成测试:使用 Bun 内置测试运行器,测试通常位于各包的 test/ 目录,使用 bun:test 的 describe、test、expect。默认优先单元或集成测试,例如 moonx diffs:test、moonx trees:test。moon run :test 会运行所有项目的测试,并通过已构建的 dist 导入工作区依赖;dist 较新时也可在包内直接运行 bun test。

快照:Bun 支持 toMatchSnapshot()。除范围狭窄、浅层且紧密对应被测行为外,避免新增快照覆盖。在包目录内用 bun test -u 更新快照。

浏览器与 E2E:仅在真实浏览器引擎才能验证时添加 Playwright/浏览器 E2E,例如计算样式检查、shadow DOM 边界、仅浏览器渲染行为。保持 E2E 小而高价值,相关命令如 moonx trees:coverage、moonx trees:test-e2e、moonx path-store:test-demo、moonx docs:test-e2e。若在工作树中启动 E2E fixtures 或开发服务器,需遵循 worktrees-and-dev-servers 技能中的清理约定。

注意:.oxlintrc.json 中 react/* 规则假定为 React;packages/trees/src/render//*.tsx 与 packages/trees/src/components//*.tsx 为 Preact,已通过 overrides 对这些 glob 关闭 react/refs。新 Preact 组件应放在这些目录下,而不是添加逐文件 oxlint-disable 注释。