代码之家  ›  专栏  ›  技术社区  ›  Anupam Maurya

typeerror:无法读取jest和酶测试中未定义的属性“subroute”

  •  0
  • Anupam Maurya  · 技术社区  · 6 年前

    我正在使用 jest与酶库在反应测试中的应用 具有 创建React应用程序样板

    随着套件和测试的运行,我犯了上述错误。 找不到任何解决方案。 如果有什么解决办法请告诉我。

    TypeError: Cannot read property 'subroute' of undefined
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   Anupam Maurya    6 年前

    是的,我在渲染 connected component 把道具放进去。

    所以有了这个目的,我们需要通过的就是 商店 元素进入 供应商 ,并将组件安装到其中。

    所以我们需要了解的是:

    安装 :它将呈现 深层元素 与之相关的道具和部件。

    浅层 :它将呈现顶层的第一个组件,而不是像我以前使用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())
      })
    })