@sidorchik

Почему не получается симулировать событие в Enzyme?

Я сделал на Реакте форму с помощью Formik и Material-UI. В форме одно поле «Номер карты». Если правильно ввести номер и нажать кнопку — получите сообщение «Карта добавлена»: это сделано через стейт.

Пишу юнит-тест с помощью Jest и Enzyme. Не проходит тест, где симулируется ввод данных и нажатие кнопки. Ошибка следующая:
Method “simulate” is meant to be run on 1 node. 0 found instead
но поле и кнопка есть, и это даже протестировано. В чём проблема? Помогите, пожалуйста, исправить.

Гуглил ошибку, видел много советов, но решение для себя так и не нашёл.

Песочница
  • Вопрос задан
  • 204 просмотра
Пригласить эксперта
Ответы на вопрос 1
alexiusp
@alexiusp
senior frontend developer
Судя по тексту ошибки, Enzyme не нашёл компонент, на котором вы хотите симулировать коллбэк. Причин может быть две: либо вы опечатались в селекторе, либо имя компонента при рендеринге выглядит не так, как вы думаете. Чтобы найти ошибку, попробуйте вывести в консоль wrapper.debug() и посмотреть как выглядит рендер, возможно найдёте что-то интересное. Ну и в любом случае попробуйте задать компоненту id и искать по нему, это обычно срабатывает.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы