Как проверить useState и useEffect реагируют на хуки - PullRequest
4 голосов
/ 09 мая 2019

Я пытаюсь протестировать ловушки реакции useState и useEffect, используя Jest + Enzyme, но я не могу найти способ сделать это, может кто-нибудь помочь?

const [sPlaceholder, setSPlaceholder] = useState('');
  useEffect(() => {
    setSPlaceholder('abcd');
    if (s === '') {
      dispatchUpdateSPlaceholder(searchPlaceholder);
    }
  }, [sPlaceholder]);

Ответы [ 2 ]

3 голосов
/ 09 мая 2019

Фермент в настоящее время не поддерживает крючки.Я бы посмотрел на react-testing-library Кента С. Додда, чтобы проверить ваши крючки.Вы будете проверять результат крючков, а не проверять самих крючков.

https://github.com/testing-library/react-testing-library

0 голосов
/ 19 июля 2019

попробуйте использовать act ():

import { act } from 'react-dom/test-utils';
act(() => {
  //your condition to update sPlaceholder goes here
});

https://reactjs.org/blog/2019/02/06/react-v16.8.0.html#testing-hooks

...