Не удалось инициализировать макет Redux - PullRequest
0 голосов
/ 04 июля 2018

Я пытаюсь использовать redux-mock-store согласно документации

import React from 'react'
import Enzyme from 'enzyme'
import Adapter from 'enzyme-adapter-react-16'
import configureStore from 'redux-mock-store'

import App from '.'
import rootReducer from '../../store/reducers'

Enzyme.configure({ adapter: new Adapter() })

describe('The App container', () => {
    let store
    const mockStore = configureStore()

    beforeEach(() => store = mockStore(rootReducer))

    it('renders without crashing', () => {
        const tree = Enzyme.shallow(<App store={store} />)
        expect(tree).toMatchSnapshot()
    })
})

Проблема в том, что я получаю следующие ошибки:

Предыдущее состояние, полученное редуктором, относится к непредвиденному типу. Ожидаемый аргумент - экземпляр Immutable.Collection или Immutable.Record со следующими свойствами:

А также:

TypeError: inputState.withMutations не является функцией

Разве я не должен включать rootReducer?

Есть ли лучший способ инициализировать фиктивный магазин?


Редактировать: Я также пытался использовать initialState, чтобы запустить магазин, но не пошел:

import React from 'react'
import Enzyme from 'enzyme'
import Adapter from 'enzyme-adapter-react-16'
import configureStore from 'redux-mock-store'

import App from '.'

Enzyme.configure({ adapter: new Adapter() })

describe('The App container', () => {
    let store
    const mockStore = configureStore()
    const initialState = {}

    beforeEach(() => store = mockStore(initialState))

    it('renders without crashing', () => {
        const tree = Enzyme.shallow(<App store={store} />)
        expect(tree).toMatchSnapshot()
    })
})

● Контейнер приложения ›отображает без сбоев

TypeError: state.get не является функцией

...