我正在通过 create-react-app样板使用果酱和酶库进行反应测试。
随着套件和测试的运行,我遇到上述错误。 找不到任何解决方案。 让我知道是否有解决办法。
TypeError: Cannot read property 'subroute' of undefined
答案 0 :(得分:0)
是的,我通过将道具传递到connected component
中来渲染它。
因此,出于此目的,我们需要将 store 元素传递到 Provider 中,并将组件安装到其中。
所以我们需要了解的是:
安装 :它将呈现道具及其相关组件的深层元素。
Shallow :它将渲染顶层的第一个组件,而不像我以前使用浅层那样处理深连接的组件。
以下是完整解决方案的代码:
import { mountWrap } from '../contextWrap'
import { Provider } from 'react-redux'
import sinon from 'sinon'
import Login from '../components/Login/'
// import makeStore from '../redux/createStore'
import React from 'react'
import configureMockStore from 'redux-mock-store'
import thunk from 'redux-thunk'
const mockStore = configureMockStore([ thunk ])
const authDetails = {
'authDetails' : {
Terms :''
}
}
const match = {
params : {}
}
let actionSpy = sinon.spy()
let actionHistorySpy = sinon.stub({})
let authDetails_ = sinon.stub(authDetails)
let store
let component
/* eslint-disable */
describe('tests for MyContainerComponent', () => {
beforeEach(() => {
store = mockStore(authDetails)
component = mountWrap(<Provider store={ store }>
<Login history={actionHistorySpy} match={match} setGlobalLoaderStatus= {actionSpy} userDetail={authDetails_} />
</Provider>)
})
it('renders container', () => {
console.log(component.debug())
})
})