Крючки являются совершенно новыми, и Enzyme обновляется для их поддержки.
Вы можете следить за общим прогрессом здесь: Issue # 2011 .
Поддержка useState
в частности, отслеживается здесь: Issue # 2008 .
Таким образом, текущий уровень поддержки useState
:
mount
поддерживает get
и обновление визуализированного элемента с помощью set
shallow
поддерживает get
, но пока не поддерживает обновление визуализированного элемента с set
Что касаетсязапрашивая внутреннее состояние напрямую, я не уверен, что это необходимо.
С этот раздел :
Крючки не работать внутри классов.Но вы можете использовать их вместо написания классов.
... так что хуки только работают так, как React
предпочитает теперь называть "function components"
.
Любое состояние, определенное с помощью useState
, будет существовать только внутри тела функции и не будет доступно для чего-либо вне функции.
Единственный способ изменить это состояние - взаимодействовать с визуализированным выводом, который возвращает функцияпоэтому тестирование функционального компонента должно просто включать взаимодействие с визуализированным компонентом и проверку его повторного рендеринга в соответствии с ожиданиями.