模拟商店在运行测试时抛出错误

时间:2018-12-17 11:03:29

标签: reactjs redux jestjs

这是我的测试文件

this.props.onNewNote(this.state.isAddNewNoteClicked);

这在运行时抛出错误我无法调试该错误需要帮助解决此问题

以下错误

      import React from 'react'
import { shallow } from 'enzyme'
import renderer from 'react-test-renderer'
import configureStore from 'redux-mock-store'

import Stock from '../Stock'

const initialState = {}

const mockStore = configureStore()
const store = mockStore(initialState)

test('tets for the onUpdate function', () => {
  const props = {
    setErrorPopUp: jest.fn(),
    formSubmitAttempt: jest.fn()
  }
  const wrapper = shallow(<Stock {...props} store={store} />)
  wrapper.instance().onUpdate({ quantity: 0 })
  expect(props.setErrorPopUp).toHaveBeenCalled()

  wrapper.instance().onUpdate({ quantity: 3 })
  expect(props.formSubmitAttempt).toHaveBeenCalled()
}))

此代码有什么问题以及如何解决此问题

1 个答案:

答案 0 :(得分:0)

您可能会在商店中使用immutableJS来添加,获取和删除数据。

您可以使用immutableJS初始化商店

const initialState = fromJS({ key: 'val' })

您可以使用虚拟get()函数初始化商店

const initialState = { get: () => {}}