我正在努力测试使用Redux存储的React组件。
我已经看到了一个使用redux-mock-store中的Mock Store的示例。
链接:
我认为我想在我的真实商店中进行测试。是否有这种情况?是否只测试不需要了解真实商店的组件功能?但是,为什么还要使用任何商店呢?
答案 0 :(得分:2)
理想情况下,即使没有商店也要对您的组件进行测试。您可以仅代理通过的道具并测试预期的功能。在大多数情况下,您只想测试组件的最终合同,而不是实际的实现详细信息(操作,缩减器等)。
这是一个非常固执己见的观点,但是您可以为项目进行以下类型的测试-
希望这会有所帮助!
答案 1 :(得分:1)
使用来自redux-mock-store
的工具模拟商店对于测试异步操作很有用。
答案 2 :(得分:0)
您还可以使用工具Check-State-Management测试您的redux(存储/选择器)。
它需要一些配置。根据文档,您:
checkState.config.js
文件夹中准备/src
文件(您需要从该文件中导出所有选择器)。看看example import * as selectors from "./checkState.config.js";
const checkStateMiddleware = (options = {}) => {
return window && window["__checkStoreExtension__"] ? window["__checkStoreExtension__"](options) :
store => next => action => next(action);
};
const store = createStore(
reducers,
compose(applyMiddleware(
checkStateMiddleware(selectors),
)),
);
完成这些任务后,您可以运行您的应用程序,并在打开Chrome扩展程序的情况下对其进行访问。然后,当您导航并与之交互时,它将根据应用程序的真实状态准备测试用例。