测试
设置测试环境
测试运行器
通常,你的测试运行器需要配置为运行 JavaScript/TypeScript 语法。如果你要测试 UI 组件,你可能需要配置测试运行器使用 JSDOM 提供一个模拟的 DOM 环境。
参见以下资源以获取测试运行器配置指南:
- Jest
- Vitest
UI 和网络测试工具
我们推荐使用 React 测试库 (RTL) 来测试连接到 Zustand 的 React 组件。RTL 是一个简单且完整的 React DOM 测试工具,它鼓励良好的测试实践。它使用 ReactDOM 的 render
函数和 react-dom/tests-utils
的 act
。此外,原生测试库 (RNTL) 是测试 React Native 组件的 RTL 替代品。测试库 的工具家族还包括许多其他流行框架的适配器。
我们还推荐使用 Mock Service Worker (MSW) 来模拟网络请求,因为这意味着在编写测试时不需要更改或模拟你的应用程序逻辑。
- React 测试库 (DOM)
- 原生测试库 (React Native)
- 用户事件测试库 (DOM)
- Jest 的 TypeScript
- Node 的 TypeScript
- Mock Service Worker
为测试设置 Zustand
注意:由于 Jest 和 Vitest 有细微的差别,比如 Vitest 使用 ES 模块 而 Jest 使用 CommonJS 模块,如果你使用 Vitest 而不是 Jest,你需要记住这一点。
下面提供的模拟将使相关的测试运行器在每次测试后重置 zustand 存储。