2017-06-12 109 views
5

所以,我实现了Redux店的可能不是最好的,我的玩笑的知识是最小的无以伦..玩笑模块使用终极版 - 模拟店模拟终极版店的getState()

我有三个文件,这包括...

  1. 模块
  2. 一个阵营组件
  3. 的(正常的)存储,导出为默认

我的测试文件看起来像这样:

// file.test.js 


jest.mock('store',() => jest.fn()) 

// external 
import React from 'react' 
import configureStore from 'redux-mock-store' 

// internal 
import Component from 'components/Component' 
import store from 'store' 

describe('Test My Component',() => { 
    const mockStore = configureStore() 

    it ('should equal true',() => { 
     const initialState = { active: true } 

     store.mockImplementation(() => mockStore(initialState)) 

     expect(store.getState().active).toBe(true) 
    }) 
}); 

为什么我嘲笑店的原因是因为内部<Component />我使用它本身进口相同store,认为正在使用的store.getState()几个功能模块。 ..

那么这个返回的是

TypeError: _store2.default.getState is not a function

我没有解决这个问题的嘲讽模块调用(W这是由<Component />使用),但我觉得我“应该”能够做到这一点,因为我有不同的初始状态,我想尝试,而不是所有都依赖于模块。

这是我的第一篇文章,让我知道如果我应该澄清任何事情!

回答

0

请勿导入商店。我们想模拟商店:

const store = mockStore(initialState);