React Hook Test с помощью useDispatch и useSelector - PullRequest
1 голос
/ 21 апреля 2020

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) Когда я инициализирую компонент перехватить реакцию с некоторым состоянием макета, мой currentUserId внутри компонента будет Это же смоделированный `` state.userId`?

2) Когда я имитирую событие onChange для компонента UserForm, мой dispatch(updateUsername(id, name)) должен быть вызван один раз? Вместе с моим state.name будет ли обновляться макет имени пользователя?

...