Вы не можете сделать это с помощью реагирующей на тестирование библиотеки. Это потому, что RTL хочет, чтобы вы протестировали свой компонент так, как это сделал бы пользователь.
Что это значит? В реальной жизни ваш компонент изменит состояние после того, как что-то произойдет. Возможно, пользователь ввел неправильные данные или API вернул код ошибки.
Вместо того, чтобы изменять состояние напрямую, вы должны попытаться воспроизвести набор действий, которые изменяют состояние.
Этот подход немного сложнее реализовать, чем предлагает Enzyme, но ваши тесты будут более надежными. Это потому, что вы собираетесь протестировать весь поток, а не просто сосредоточиться на том, что визуализируется при возникновении определенного состояния.
Кроме того, скажем, что вы реорганизуете свой код и изменяете, как работает состояние. RTL-тесты будут безразличны, пока взаимодействие пользователей с вашим приложением одинаково. Тест на фермент не пройдёт, потому что он больше не знает, как взаимодействовать с внутренними компонентами вашего компонента.