ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] # 介绍 **测试** 是应用生产过程中不可缺少的一个环节,开发人员在编码时总有考虑不周全或者出错的情况,而测试则是通过对比实际结果与预期结果来找出问题和缺陷,从而确保软件的质量。 对于**任何想要高质量的项目来说,测试和调试都是非常重要的**。不幸的是,许多开发人员并不关心测试(单元测试),因为他们认为这将降低开发的速度,并且有些开发人员将其留到项目的末尾。根据我个人的经验,我可以说从项目开始进行测试将节省您的时间,因为到最后,您需要修复的bug会更少。 React 使用 Jest 测试 components, containers, actions, 和 reducers。 在下面的章节中,我们还将学习如何调试 React/Redux 应用程序。 # React组件的测试 测试React组件我们采用 Enzyme 工具库,它提供3种组件渲染方式: 1. **shallow**:不会渲染子组件(推荐使用这种测试,子组件再使用这种测试) 2. **mount**: 渲染子组件,同时包含生命周期函数如 `componentDidMount` 3. **render**: 渲染子组件,但不会包含生命周期,同时可用的API也会减少比如 `setState()` 一般情况下用 `shallow` 和 `mount` 的情况比较多。 # redux 测试 # 测试 redux-saga # 测试 hooks # 工具 对于一些测试情况,可能会用到的工具 [redux-mock-store](https://codeday.me/bug/20190321/796372.html) [nock](https://github.com/nock/nock) -- HTTP server mocking and expectations library for Node.js [Sinon](https://sinonjs.org/) -- Standalone and test framework agnostic JavaScript test spies, stubs and mocks # 示例 [deepfunc/react-test-demo](https://github.com/deepfunc/react-test-demo) [testing-library](https://testing-library.com/) [Testing React with Enzyme and Jest](https://javascriptplayground.com/testing-react-enzyme-jest/) [kentcdodds‘s Blog](https://kentcdodds.com/)