用途:在 JavaScript 或 TypeScript 项目中生成 Jest 单元测试与集成测试,覆盖函数、模块、异步逻辑和 React 组件。触发场景包括用户提及 Jest、describe/it/expect、jest.mock、toMatchSnapshot,或 expect().toBe()、jest.mock 等写法。
主要能力:提供基础测试结构(describe、beforeEach、test);常用匹配器如 toBe、toEqual、toBeTruthy、toBeNull、toBeGreaterThan、toBeCloseTo、toMatch、toContain、toHaveLength、toHaveProperty、toMatchObject、toThrow;mock 能力包括 jest.fn() 配合 mockReturnValue、mockResolvedValue,jest.mock 模块级 mock、带实现 mock、jest.spyOn 与 mockRestore、jest.useFakeTimers 与 advanceTimersByTime;异步测试支持 async/await、resolves、rejects;React 组件测试基于 @testing-library/react 与 jest-dom,含 render、screen、fireEvent、waitFor;快照测试使用 toMatchSnapshot,可用 jest --updateSnapshot 更新。
使用方式:常用命令为 npx jest 运行全部、npx jest --watch 监听、npx jest --coverage 覆盖率、npx jest --updateSnapshot 更新快照、npx jest tests/calc.test.js 指定文件;单测聚焦可用 test.only。
反模式提示:避免 expect(x === y).toBe(true) 而直接用 expect(x).toBe(y);异步用例必须 await 或 return;不要对所有内容做快照,仅对 UI 快照并断言逻辑。
限制:该技能仅在上游来源与本地项目上下文明确匹配时使用;执行命令、生成代码、依赖、凭据和外部服务行为需自行核实;示例不能替代针对环境的测试、安全审查,以及破坏性或高成本操作的用户授权。其他细节暂未提供。