用途:该技能用于掌握 Jest 测试模式,包括单元测试、mocks、spies、快照和断言技巧,以提升测试覆盖率。
主要能力:
- 测试结构:用 describe/it 组织测试套件,并通过 beforeAll、afterAll、beforeEach、afterEach 进行 setup 与 teardown。
- 断言匹配器:涵盖相等(toBe、toEqual、toStrictEqual)、真值、数字、字符串、数组、对象属性、异常等匹配器。
- 异步测试:支持 async/await、Promise 链,以及 resolves/rejects 断言。
- Mock:jest.fn() 创建函数 mock,可设置返回值与实现;jest.mock() 做模块 mock,也支持部分 mock(jest.requireActual)。
- Spy:jest.spyOn 监视对象方法、getter 及全局函数,并可 mock 实现、之后 mockRestore。
- 快照:toMatchSnapshot、toMatchInlineSnapshot、属性匹配器以及自定义序列化器配置。
- 组件与异步模式:结合 @testing-library/react 与 userEvent 测试 React 组件、表单输入、提交与校验错误;使用 fake timers 控制 setTimeout 等。
- 错误边界测试、最佳实践(AAA 结构、只测行为、清理 mock、测边界与错误场景)与常见陷阱说明。
使用方式:资料未提供统一安装命令或运行步骤,仅在 Jest 语境下展示具体 API 用法与示例代码,需结合自身 Jest 项目配置使用。
适用场景:为函数和类写单元测试、测试 React 组件交互、mock 外部依赖与 API、为 UI 组件创建快照测试、测试异步代码与 Promise、用 spy 验证调用、测试错误处理与边界情况、搭建测试夹具以及调试失败测试。
限制:该资料主要为模式与示例集合,未说明收费、平台支持、版本要求或性能效果;部分内容依赖 @testing-library/react、user-event 等库,但未提供其安装与配置说明。