SuperAPI AI 工具集

testing-patterns

测试与质量

查看项目

更新于 10-16 05:51

技能介绍

该技能面向 Jest 单元测试,提供测试模式与工具约定,可用于编写单元测试、创建测试工厂、实践 TDD。

用途与理念:采用测试驱动开发,先写失败测试,再写最小实现通过,绿色后重构;不以无失败测试写生产代码。测试应针对行为而非实现细节,聚焦公共 API 与业务需求,使用描述行为的测试名。工厂模式用于生成 getMockX(overrides?: Partial<X>) 函数,提供合理默认值并允许覆盖特定属性,保持测试可维护。

主要能力:自定义渲染函数(如 renderWithTheme)包装所需 Provider;组件 props 工厂与数据工厂;模块 mock(jest.mock、jest.requireMock)与 GraphQL hook mock(如 useGetItemsQuery);使用 describe 分组、beforeEach 清理 mock 的测试结构;查询模式(getByText、queryByText、findByText 与 waitFor);用户交互(fireEvent.changeText、press)。

使用方式:运行测试可用 npm test、npm run test:coverage 或指定文件 npm test ComponentName.test.tsx。测试中通过工厂生成数据,如 const user = getMockUser({ role: 'admin' }),再渲染组件并断言。

适用场景与限制:适合 React/React Native 组件的 Jest 测试,可与 react-ui-patterns(覆盖 loading、error、empty、success 各 UI 状态)和 systematic-debugging(先写复现 bug 的测试再修复)配合。需避免只测试 mock 行为、不使用工厂导致数据重复等反模式。其余平台、价格或版本信息暂未提供。