问题标签 [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.
reactjs - Redux 模拟商店仅在分派多个操作时返回一个操作
我正在尝试模拟这个 axios 调用:
如果调用成功,应该同时派发动作创建者 fetchCountryPending() 和 fetchCountryFullfilled(country)。当我像这样嘲笑它时:
第二个期望失败,console.log(actions) 只显示一个包含一个操作的数组,但它应该包含两个操作,fetchCountryPending 和 fetchCountrySuccess。当我登录('dispatched')时,它显示第二个动作正在终端中调度。
reactjs - 模拟 axios 适配器不模拟获取请求
我正在尝试测试此功能:
这是我的测试:
当我运行这个测试时,我收到一个错误 UnhandledPromiseRejectionWarning 并且没有收到 fetchCountryPending 并且 fetchCountryRejected 是。似乎 onGet() 没有做任何事情。当我注释掉这条线
mock.onGet('/api/v1/countries/?search=${query}').reply(200, country)
时,我最终得到了完全相同的结果,让我相信没有任何东西被嘲笑。我究竟做错了什么?
react-redux - 测试反应异步动作创建者 - 未定义的数据
我有以下动作和测试用例 - 当我运行这个测试时(开玩笑) - 我看到 TypeError: Cannot read property 'data' of undefined in action creator, 不确定这里缺少什么?我正在提供预期的 mockData。是因为这里嵌套了一个异步吗?但我正在使用`.then 但它仍然失败。
javascript - Redux 容器单元测试 - 无法访问包装组件的道具
在 React v6 升级之后,我现有的组件测试用例失败了。
这是我的组件容器代码 TodoContainer.jsx:
这是我的测试代码 TodoContainer.test.jsx:
我得到的错误是:
Invariant Violation:在 props 中传递 redux store 已被删除,并且不执行任何操作。要为特定组件使用自定义 Redux 存储,请使用 React.createContext() 创建自定义 React 上下文,并将上下文对象传递给 React-Redux 的 Provider 和特定组件,例如:你也可以传递一个 {context : MyContext} 选项来连接。
有没有办法在访问道具时通过提供者传递商店,同样的方式?
reactjs - 在 Simulate('change') 状态未更新后
我有一个搜索过滤器组件,里面有一个输入,它连接到 redux。
我用 jest 和酵素写了一个测试来测试用户输入新值时的状态更新
问题是模拟更改后状态不会更新,并且测试总是失败。
我该如何解决这个问题,或者是否有其他方法来测试状态更新?
javascript - Redux Mock Store 给出 'Actions must be plain objects。使用自定义中间件进行异步操作。
我正在尝试React
使用redux-mock-store在我的应用程序中测试一些异步代码。
我Jest
用来运行这个测试。运行以上测试时出现以下错误Actions must be plain objects. Use custom middleware for async actions.
这里有什么问题?
reactjs - 2019 年如何使用 redux-mock-store 配置或测试容器?
我配置了一个容器以使用 redux-mock-store 测试到最后一个版本,但我遇到了一些问题。find() 函数不起作用。我曾经收到零节点和零长度。当我使用 mount 代替浅层函数时,这是可行的,但是我遇到了无法识别 redux mapDispatchToProps 的问题。我如何保证会调用该操作?我不想测试商店而是测试动作功能,因为我使用 thunk。我的推理对吗?
我的容器:
我的测试:
reactjs - 测试 mapDispatchToProps 的最佳方法
我正在编写测试来测试涉及调度的 mapDispatchToProps。
这是我的 mapDispatchToProps。
dispatch 中的方法如下。
这是我在 Jest 中的测试用例。
dispatch.mock.calls[0][0] 给了我一个匿名函数。请提供有关测试方法的建议。
谢谢。
jestjs - 在 redux-mock-store getActions 中获取空数组
在我的行动中提出请求。从需要从模拟 redux 存储返回值的 api 中提取。我让它在 redux 模拟商店调度操作时启动该请求,但是当 store.getActions() 时我无法正确显示这些值。
我收到错误store.getActions()
是从模拟商店返回空状态。
例如:
simpleActions.js
simpleAction.test.js
如何调用或模拟需要返回值而不是模拟存储中的状态空数组的异步/等待函数。任何帮助将不胜感激。
redux - 如何使用 react-test-renderer 测试 redux 连接的 HOC 组件的存储状态更改?
我正在尝试测试以下组件,该组件基于几个 React 培训站点上非常常见的“ProtectedRoute”HOC/包装器示例。基本概念是在<Route>
级别包装受保护的组件,以便重定向未经身份验证的用户。
到目前为止,我已经使用react-test-renderer
and编写了以下测试redux-mock-store
:
这两个测试都运行良好,并按预期通过,但是我现在有兴趣测试以下真实世界场景:
用户当前已登录,authenticated=true
在商店中。一段时间后,他们的 cookie 过期。对于我们的示例,假设我们定期使用服务器检查 auth 的状态,它会触发一些动作来触发,导致商店的新状态导致authenticated=false
.
除非我从未遇到过示例,否则我相当确定redux-mock-store
(即使它的字面意思是“模拟商店”)在您调用store.dispatch(myAction())
. 我能够测试状态变化myAction.spec.js
,但我仍然无法模拟接收更新状态/道具的 HOCgetDerivedStateFromProps
据我所知,我编写的测试涵盖了组件以authenticated=true/false
初始状态加载并按预期工作的两种情况,但是当我查看覆盖结果时,getDerivedStateFromProps
这些测试并未涵盖该功能。
我将如何编写一个测试来模拟authentication
商店状态中布尔值的变化并断言组件(以前)Authenticated
收到了变化,以确保我在测试中涵盖了这一点?getDerivedStateFromProps
componentWillReceiveProps