使用酶进行测试时,使用React Hook访问功能组件的状态

ava*_*hzh 14 reactjs enzyme react-hooks

我想知道如何使用useState带有酶的钩子测试功能组件的状态变化。通常情况下,测试是类似的,expect(wrapper.state()).toEqual(expectedState)但是我得到了错误:

ReactWrapper::state() can only be called on class components
Run Code Online (Sandbox Code Playgroud)

我知道Hooks仍处于alpha阶段,并且诸如此类的东西shallow仍然无法正常工作,但我想知道是否有解决办法?

小智 6

您应该避免测试实现细节。相反,测试组件的行为在触发更新状态的操作时是否按照您的预期运行。