工具介绍
用于测试 Redux 异步动作创建器和中间件的模拟商店。
过时通知 Redux 团队不建议使用此库进行测试。相反,请参阅我们的 文档,了解推荐的实践,使用真实的存储。使用模拟存储进行测试会导致潜在的混淆行为,例如在发送操作时状态无法更新。此外,在测试中断言发送的操作而不是可观察的状态变化也更少有用。您可以在单个测试中测试动作创建器、减少器和选择器的完整组合,例如:
redux-mock-store() (https://circleci.com/gh/arnaudbenard/redux-mock-store/tree/master) 这是一个用于测试 Redux 异步动作创建器和中间件的模拟商店。模拟商店会创建一组已发布的动作,这些动作可作为测试的动作日志。请注意,此库是用于测试与动作相关的逻辑,而不是与 reducer 相关的逻辑。换句话说,它不会更新 Redux 商店。如果您想要将动作和 reducer 结合在一起进行复杂的测试,请参阅其他库(例如 redux-actions-assertions)。有关更多详细信息,请参阅问题 #71。
最简单的用例是同步操作。在本示例中,我们将测试 addTodo 操作是否返回正确的负载。redux-mock-store 会将所有发布的操作保存到存储实例中。您可以通过调用 store.getActions() 获取所有操作。最后,您可以使用任何断言库来测试负载。