оберните корневой компонент в или передайте пользовательский поставщик контекста React и соответствующему потребителю контекста React для подключения

#reactjs #unit-testing #redux #react-testing-library

Вопрос:

Я хочу протестировать компонент модульным тестом , я не знаю , как визуализировать компонент, он выдает ошибку. Я могу использовать только «библиотеку тестирования реакции«.

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

Ответ №1:

Поскольку ваш компонент использует состояние Redux, вам нужно обернуть его с помощью a Provider .

Например, вот так

 
  const Wrapper = ({ children }) => (
    // you could just use your normal Redux store or create one just for the test
    <Provider store={store}>{children}</Provider>
  );
  render(<BaseSignup />, { wrapper: Wrapper });
 

Комментарии:

1. У меня снова ошибка , ошибка==> Ошибка типа: Не удается прочитать свойство «getState» неопределенного

2. Вам также действительно нужно сдать store там экзамен.