React 应用的测试与调试

不要再猜测你的代码是否有效。通过测试来建立信心。

大多数开发者跳过测试,是因为觉得配置太难。他们把测试当作一项苦差事,而不是一个安全网。

你编写测试不是为了给计算机看,而是为了给未来的自己看。当你凌晨两点修改一个函数时,测试会立即告诉你是否破坏了某些功能。

将测试想象成一个金字塔:

• 单元测试 (Unit Tests):测试单个函数或组件。它们运行速度快且数量众多。 • 集成测试 (Integration Tests):测试各部分如何协同工作。它们能带给你极高的信心。 • 端到端测试 (E2E Tests):在浏览器中测试整个应用。仅将它们用于登录或结账等关键路径。

React Testing Library 的金科玉律:测试用户所看到的内容。

不要测试 state 变量。不要测试 CSS 类。不要测试内部逻辑。测试按钮、文本和输入框。如果用户看不见,就不要测试它。

遵循 Arrange, Act, Assert 模式:

对于像 API 调用这样的异步代码,请使用 waitFor。这允许你的测试在检查结果之前等待数据加载完成。

如果你的应用在生产环境中崩溃,请使用 Error Boundaries。它们可以防止单个损坏的组件导致整个页面变成白屏,并为用户提供优雅的降级方案。

快速调试清单:

专注于测试重要的内容。你不需要 100% 的覆盖率。你需要覆盖那些一旦失败会造成严重后果的功能。

来源:https://dev.to/kushang_tailor/testing-debugging-react-apps-write-code-you-can-actually-trust-5334