对redux的JEST测试没有按预期工作

时间:2017-09-01 06:42:33

标签: reactjs redux jestjs jsx enzyme

我在redux中有一个代码,我将其导出为

 export default connect(mapStateToLinkProps, mapDispatchToLinkProps)(Link);

在jest测试用例中,我已经编写了测试此导出组件的文件

//imported the above component as Link
describe('Dashboard component testing', () => {
  test('1. Must be an Instance of CreateAssest', () => {
    const wrapper = shallow(<FilterLink />);
    const inst = wrapper.instance();
    expect(inst).toBeInstanceOf(Link);
  });
});

为此我收到错误

  

不变违规:无法找到&#34;存储&#34;无论是在上下文中   &#34;连接(链接)&#34;的道具。将根组件包装在一个   ,或明确传递&#34;存储&#34;作为&#34;连接(链接)&#34;的支柱。

当不使用redux并仅将其作为反应组件导出时,测试用例正在运行。现在还有一些商店问题即将到来。请问任何人都可以在这个问题上引导一点

1 个答案:

答案 0 :(得分:1)

您需要将您的组件包装在Provider中,以便能够使用商店,如下所示:

import { Provider, connect } from "react-redux";
let store = createStore(reducer, defaultStoreItems); 
<Provider store={store}>  
  <App />    
</Provider>