SuperAPI AI 工具集

storybook

测试与质量

查看项目

更新于 10-16 01:29

技能介绍

用途:为尚未编写故事的组件补全 Storybook 覆盖,为已有 *.stories.tsx 增补交互测试,补齐或同步 Playground 故事,在 Storybook 被登录保护时完成认证,并对不稳定的交互测试反复验证。不适用:构建组件本身;仓库未安装 Storybook(需先安装,本技能不负责引导);组件为 hook 或无渲染面的原语(交由 tdd 处理)。

主要能力:按六阶段流水线工作——预检、组件检查、可视回归脚手架、Playground 脚手架、交互测试脚手架、验证;可选第七阶段对抗式验证(--validate)。参数包括 <component-path>、--platform web|native、--no-interactions、--no-playground、--no-default、--validate、--auth <profile>、--title。子命令:/storybook validate <component>、/storybook auth list|add|remove|test。

使用方式:先执行只读预检命令,例如 jq '.devDependencies | keys[]' package.json | grep -E '@storybook/'、ls .storybook/,并检测 react-native/expo 依赖确定平台。交互测试文件名必须为 .test.stories.tsx,标题为 <same-prefix>/Tests,meta 上设置 tags: ["test"],并禁用 Chromatic 快照;定位器优先级为 getByRole → getByLabelText → getByPlaceholderText → getByText → getByTestId。验证阶段在后台启动 Storybook,用 Playwright CLI 迭代确认渲染,交互测试通过 Storybook test runner(如 npm run test-storybook)运行。

限制与边界:对抗式验证仅在本地运行,需 --validate 或 validate 子命令,不在 CI 使用;组件缺陷修复需置信度 ≥ 90 才应用;不得在故事参数中使用 new Date()、Math.random() 等动态值;不得将凭据存入 .env、package.json 或故事文件,--auth 使用 storageState.json。未提供更多版本、收费或平台细节。