问题标签 [redux-mock-store]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
609 浏览

redux - 操作调用使用 fetch-mock 返回“未定义”

操作“类型”:未定义,是我尝试使用 fetch-mock 测试 redux 操作时不断返回的内容。有关如何解决此问题的任何建议?这可能是 fetch-mock 中的错误吗?

仪表板Actions.js

仪表板Actions.test.js

0 投票
0 回答
1353 浏览

redux - React / Jest:如何测试 store.dispatch 被调用

我是 Redux 和 Jest 的新手,我正在努力解决一个问题。我想为此文件编写测试:

eventListeners.js

我有这个文件:

eventListeners.test.js

但是我没有成功测试dispatch调用了 store 的方法。

到目前为止我已经尝试过:

1)试图直接模拟商店的方法调度(例如doing jest.spyOn(store, 'dispatch')jest.mock('@/store'))。

但是似乎没有任何效果。我认为这是因为使用的商店eventListeners.js不是规格中的商店。所以,嘲笑它并没有做任何事情

2) 使用redux-mock-store库,如https://redux.js.org/recipes/writing-tests中所述。

正在做

但是,同样的问题(我猜):规范中使用的商店与eventListeners.js. store.getActions()返回[]

有没有好方法来测试store.dispatch被调用?

====================================

现在,我所做的是订阅商店并尝试查看商店是否有变化。如https://github.com/reduxjs/redux/issues/546中所述

有没有更好的办法?我错过了什么吗?

谢谢您的回答。

0 投票
3 回答
4656 浏览

javascript - 将 jest.fn() 函数传递给酶浅渲染中的 mapDispatchToProps

具有非常简单的组件:

从 'prop-types' 导入 PropTypes 从 'react' 导入 React 导入 { connect } 从 'react-redux'

我想测试是否在等于doSth时被调用。shouldDoSthtrue

我写了一个测试:

但似乎虽然我将 doSth 作为道具传递,但它被mapDispatchToProps执行时覆盖console.log('im not a mock')

如何正确传递/覆盖/分配doSth函数以使组件使用模拟而不是来自mapDispatchToProps. 或者,也许我正在做一些根本不应该被允许的事情,并且有“正确”的方式来测试我的案例。我应该只模拟调度并检查它是否使用正确的参数调用?

0 投票
1 回答
993 浏览

javascript - 无法初始化 Redux 模拟存储

我正在尝试redux-mock-store按照文档使用

问题是,我收到以下错误:

reducer 接收到的先前状态是意外类型。预期参数是 Immutable.Collection 或 Immutable.Record 的实例,具有以下属性:

也:

TypeError: inputState.withMutations 不是函数

我不应该包括rootReducer吗?

有没有更好的方法来初始化模拟商店?


编辑:我也试过用来initialState开店,但不行:

● App 容器 › 渲染不崩溃

类型错误:state.get 不是函数

0 投票
1 回答
2638 浏览

testing - 如何用 jest 和酶模拟 saga 生成器功能

我正在尝试测试当我调用调度函数时是否调用了我的生成器函数。我正在做类似的事情:

在我的 saga.js 中:

在 Form.js 中:

在我的 test.js 中:

我认为我的问题是我必须模拟我作为参数传递给 takeLatest 的生成器函数。我尝试了很多东西,但没有奏效。结果显示“我在”

谢谢大家帮助 :)

0 投票
1 回答
3663 浏览

react-native - 使用带有 getState() 的 mockStore 进行 Thuk 测试

我在使用模拟商店测试 thunk 时遇到问题。

在我的 thunk 中,我调用 getState() 来获取 redux 存储的状态,然后根据状态调度操作。

如何让我的 thunk getState() 调用来检查模拟存储状态而不是 redux 存储状态?

这是我要测试的thunk。

0 投票
3 回答
5652 浏览

typescript - 打字稿,单元测试:使用来自 redux-mock-store 的 store.dispatch 调度 Thunk 的正确类型

有什么方法可以从使用 redux-mock-store 创建的商店中正确调度 Thunk 吗?现在我被迫使用任何类型断言

正如dispatch预期的那样提供简单的动作

代码片段getCommisions()

0 投票
0 回答
572 浏览

reactjs - 在使用 Enzyme 进行单元测试期间,Reducer 将状态返回为“未定义”

测试 Redux 连接组件:我尝试从特定 Action FETCH_COUNTRY_LIST 测试预期结果失败的情况。我是否需要在我的 mockStore 中添加自定义中间件。

我不确定为什么 countryList 和 selectedCountries 的状态为“未定义”。我添加了一个 wrapper.Update()。在下面的测试用例中我做错了什么。

这是我的商店的代码:

0 投票
1 回答
3219 浏览

reactjs - 测试 React Redux - 无法读取未定义或包装器未定义的属性

我在我的组件中为我的测试套件设置 Redux 存储时遇到了一些问题。问题是,即使我尝试未连接的挂载,测试也会在 authState 中查找变量时引发错误。我有以下组件:

以及以下测试结构:

我得到以下输出:

测试输出

0 投票
1 回答
90 浏览

reactjs - “动作必须是普通对象”......但它是

抱歉很常见的错误,但在下面的测试中不明白违规行为如何storeMgrAnnouncement(result)不是普通对象。api 调用和 thunk 动作是模拟的,但有问题的动作不是。

home.test.js

__mocks__/actions/index.js

动作/index.js