Ошибка при тестировании родительского элемента React, который содержит дочерний компонент React Redux с использованием Enzyme Mount - PullRequest
0 голосов
/ 23 сентября 2019

Я обновляю юнит-тест в jest и фермент на компоненте React и сталкиваюсь с проблемой.

Недавно я добавил дочерний компонент (который сам подключен к Redux) к родительскому компоненту, который использует'mount' энзима и модульный тест не пройден.

Обратите внимание, что проект компилируется и работает нормально.

Это ошибка, указанная в CLI:

Нарушение инварианта: не удалось найти «store» в контексте «Connect (« здесь имя дочернего компонента »)».Либо оберните корневой компонент в a, либо передайте пользовательский поставщик контекста React и соответствующий получатель контекста React для Connect («Имя дочернего компонента здесь») в параметрах подключения.

Я подтвердил, что Reduxпроблема связана с подключенным дочерним компонентом.

Возможно ли в этом случае смоделировать хранилище дочернего компонента?

1 Ответ

0 голосов
/ 23 сентября 2019

Это происходит, когда вы связываете свой компонент с избыточным хранилищем и используете mapStateToProps функцию react-redux.Поэтому, когда вы mount компоненте, вам нужно обернуть его внутри Provider, чтобы предоставить контекст store вашему компоненту.Вы можете сделать что-то вроде этого:

let wrapper = mount(<Provider store={store}><Component /></Provider>);

Надеюсь, это поможет!

...