在 React 和 Next.js 中,您可以编写几种不同类型的测试,每种测试都有其自身的特定目的和用例。本页面概述了您可以用来测试应用程序的测试类型和常用工具。
测试类型
- 单元测试 涉及单独测试单个单元(或代码块)。在 React 中,一个单元可以是单个函数、hook 或组件。
- 组件测试 是单元测试的一个更集中的版本,测试的主要对象是 React 组件。这可能涉及测试组件的渲染方式、与 props 的交互以及对用户事件的响应行为。
- 集成测试 涉及测试多个单元如何协同工作。这可以是组件、hook 和函数的组合。
- 端到端 (E2E) 测试 涉及在模拟真实用户场景(如浏览器)的环境中测试用户流程。这意味着在类似生产环境的条件下测试特定任务(例如注册流程)。
- 快照测试 涉及捕获组件的渲染输出并将其保存到快照文件。当测试运行时,组件当前的渲染输出会与保存的快照进行比较。快照中的变化用于指示意外的行为更改。
App Router Only
异步服务器组件
由于 async 服务器组件是 React 生态系统的新成员,一些工具尚不能完全支持它们。在此期间,我们建议对 async 组件使用端到端测试而不是单元测试。
指南
请参阅以下指南,了解如何使用这些常用测试工具设置 Next.js: