reactjs - Cypress - cypress-react-unit-test 中 mountHook 中的 Stubing/Mocking redux hooks
问题描述
我正在尝试对一个也使用 redux 钩子的自定义钩子进行单元测试,例如useSelector
&useDispatch
但我收到一个错误,即钩子未包含在Provider
. 我正在使用cypress-react-unit-test
挂载钩子,但不确定如何解决提供程序问题。任何帮助表示赞赏。
他们在内部调用组件内部的钩子,所以我想知道是否有一种方法可以改变它。
it('Check Groups keys for String', () => {
mountHook(() => useGroups())
.then(uesGroupsResults => {
// assert here...
});
});
解决方案
mountHook 函数接受第二个选项参数。选项之一是wrapper
。这可以设置为 React 组件,例如提供程序。
一个例子(来自最近更新的cypress-react-unit-test
文档)是:
import { mountHook } from 'cypress-react-unit-test'
const wrapper = ({ children }) => <Provider store={store}>{children}</Provider>
mountHook(() => useCustomHook(), { wrapper })
推荐阅读
- javascript - 是否可以在浏览器上使用 javascript-obfuscator 库?
- powershell - 即时将字节转换为兆字节
- python - 在不同的脚本中导入类的对象
- python - 如何根据空值将一个行列值分配给另一行列
- javascript - 没有错误,但 JavaScript 仍然无法工作
- powerbi - DAX 动态日期平均值
- elasticsearch - 查询 elasticSearch 和嵌套对象的问题
- php - 无法通过 MAC (catalina) 上的作曲家安装 laravel 安装程序
- php - Wordpress 批量产品上传 (woocommerce) - 650K
- r - 在闪亮的数据表中编辑多个单元格