Тестовый компонент с магазином мокко и фермента - PullRequest
0 голосов
/ 24 августа 2018

Я пытаюсь проверить свой компонент, но из-за магазина у меня ошибка.

import React from 'react';
import { shallow, simulate } from 'enzyme';
import configureStore from 'redux-mock-store';
import { Provider } from "react-redux";

import DropzoneComponent from '../components/DropzoneComponent';

const mockStore = configureStore();
const store = mockStore({});


describe('Dropzone component live test', () => {
    it('renders the component', () => {
      const wrapper = shallow(
        <Provider store = {store}>
          <DropzoneComponent />
        </Provider>).dive();
      expect(wrapper.exists()).to.equal(true)
    });
});

Ошибка:

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

1 Ответ

0 голосов
/ 25 августа 2018

ваш компонент обернут в withRoter, вам нужно выставить его при поверхностном рендеринге с WrappedComponent следующим образом:

describe('Dropzone component live test', () => {
it('renders the component', () => {
  const wrapper = shallow(
    <Provider store = {store}>
      <DropzoneComponent.WrappedComponent />
    </Provider>).dive();
  expect(wrapper.exists()).to.equal(true)
 });
});

Дайте мне знать, если проблема все еще сохраняется

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...