chai-redux-mock-store - ReferenceError: createMockStore is not defined

chai-redux-mock-store - ReferenceError: createMockStore is not defined

我正在按照 https://www.npmjs.com/package/chai-redux-mock-store 上的示例进行操作,但不明白为什么 createMockStore 未定义。

package.json

  "scripts": {
    "test": "mocha --compilers js:babel-core/register --require ./test/test_helper.js 'test/**/*.@(js|jsx)'",
    "test:watch": "npm run test -- --watch"
  },

test/test_helper.js

import chai from 'chai';
import chaiReduxMockStore from 'chai-redux-mock-store';

chai.use(chaiReduxMockStore);

test/components/Login/Login_spec.jsx

const store = createMockStore();

npm 运行 测试

ReferenceError: createMockStore is not defined

修复

import {Provider} from 'react-redux';

const createMockStore = (getState) => {
    const middlewares = [];
    return configureStore(middlewares)(getState);
};

const store = createMockStore();

const component = renderIntoDocument(
   <Provider store={store}>
      <LoginContainer />
   </Provider>
);

createMockStore 不是库本身暴露的东西,它是你需要自己写的东西。 它源于 redux-mock-store 库。

您可以查看 chai-redux-mock-store 中的 tests 以了解应该如何完成。

const configureStore = require('redux-mock-store').default;
const createMockStore = (getState) => {
    const middlewares = [];
    return configureStore(middlewares)(getState);
};