reactjs - 使用 Enzyme 进行测试时使用 React Hooks 访问功能组件的状态

标签 reactjs enzyme react-hooks

我想知道如何使用 Enzyme 的 useState 钩子(Hook)来测试功能组件的状态变化。通常测试会类似于 expect(wrapper.state()).toEqual(expectedState) 但我收到错误:

ReactWrapper::state() can only be called on class components

我知道 Hooks 仍处于 alpha 阶段,像 shallow 这样的东西仍然不起作用,但我想知道有没有办法做到这一点?

最佳答案

您应该避免测试实现细节。相反,当触发更新状态的操作时,测试组件的行为是否如您所期望的那样。

关于reactjs - 使用 Enzyme 进行测试时使用 React Hooks 访问功能组件的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54477296/

相关文章:

javascript - 如何 href 到特定组件以对某些操作使用react

reactjs - 模拟 React useRef 或带有 enzyme 和 Jest 的功能组件内的函数?

javascript - 我们如何、何时以及为何清理 React JavaScript 中的组件?

reactjs - redux-form 多个复选框,单个数组中的值,没有 bool 值

javascript - CSV 不返回行

javascript - 如何使React Hot Loader适用于JSX?

javascript - 如何在 Enzyme React 中模拟按钮单击?

reactjs - 单元测试 navigator.permissions.query({ name : 'geolocation' }) using Jest (React)

javascript - React-Router-dom 和 useHistory。将新 URL 推送到历史记录并更改 URL 但页面没有更改

javascript - React Hooks 表单 : undefined values on submit