使用useDispatch和useSelector进行Hook测试

时间:2020-04-21 04:54:05

标签: reactjs react-redux react-hooks enzyme

React Hook已经发布了一段时间,但是我仍然找不到用于测试useSelector()useDispatch()挂钩的标准测试方法,例如,我有一个简单的组件

const TestComponent = () => {
  const currentUserId = useSelector(state => {
    return state.userId;
  });
  const currentUserName = useSelector(state => {
    return state.userName;
  });
  const dispatch = useDispatch();
  const updateUsername = (id, name) => { dispatch(updateUsername(id, name)) };

  return (
     <span>
      <UserForm userId={currentUserId} userName={currentUserName} onChange={() => {updateUsername}} />
    </span>
  )
}

我如何编写要验证的useSelector()useDispatch()的测试用例:

1)当我以某种模拟状态初始化react hook组件时,我在组件内部的currentUserId与模拟的``state.userId`?

相同。

2)当我在onChange组件上模拟UserForm事件时,我的dispatch(updateUsername(id, name))应该被调用一次吗?连同我的state.name一起使用模型更新用户名进行更新吗?

0 个答案:

没有答案