【发布时间】:2017-12-31 20:01:24
【问题描述】:
我打开了一个问题,但万一我做错了什么:
使用 jest 和 redux-mock-store 编写单个测试时,一切都按预期工作。 但是,如果我多次使用 mockStore(在同一个测试中甚至在另一个测试中),那么在任何创建的商店中调度的操作都会在 observable 中多次发送(但在商店中只有一次,如 store.getActions()州。
这是一个复制回购:https://framagit.org/jalil/redux-observable-mock-store-duplicate
tldr;
这行得通:
const store = mockStore();
store.dispatch({ type: 'FOO' }); // -> Observable get 1 FOO action
这不是:
const store = mockStore();
store2 = mockStore();
mockStore();
store.dispatch({ type: 'FOO' }); // => Observable get 3 FOO actions
或者:
const store = mockStore();
store2 = mockStore();
mockStore();
mockStore();
mockStore();
store.dispatch({ type: 'FOO' }); // -> Observable get 5 FOO actions
...等等...
我希望,因为我使用 replaceEpic 和 mockStore,并且我使用不同的 jest 测试,一个测试不应该影响另一个,一个 mockStore 不应该影响另一个。
因此,我希望,即使我有多个测试,每个测试都调用 mockStore(),我的史诗也能收到正确的动作流。
打开的问题:
【问题讨论】:
标签: ecmascript-6 redux jestjs redux-observable redux-mock-store