Я пытаюсь использовать 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 не является функцией