reactjs - 使用 react 和 redux 调度测试酶中的自定义钩子
问题描述
当您进行组件测试和自定义挂钩调度操作并更改 redux 状态时,测试自定义挂钩的最佳方法是什么。例如,我有在 onChange 或 onClick 上调用的自定义钩子。我喜欢模拟 click 方法,但是调用自定义钩子,甚至以成功结束,在 console.log 中我可以看到更改,检查更改的状态,返回默认状态。
function useButtonCallback = () => {
const dispatch = useDispatch();
return React.useCallback(() => {
dispatch(...);
}, [dispatch]);
}
const buttonCallback = useButtonCallback();
<Button onClick={() => buttonCallback(...)}
component.button.onClick();
component.update(); // waiting for re-render
// returns false
expect(store.getState().someState.stateBoolean).toBe(true);
BR,
解决方案
推荐阅读
- bash - 如何在 bash 脚本中使这些多个 Nmap 命令更优雅?
- javascript - 使用 Promise 使用 Node 发出 https.request
- javascript - 添加“bg-..”类以根据单元格值动态构建表格行
- eucalyptus - 桉树的 Midonet 回购协议
- macos - 仅在选中时如何取消选中菜单栏选项
- javascript - 如何在 JS 的“for of”循环中嵌入 if 语句
- flutter - 三元运算符 dart flutter null。类型'Null'不是布尔表达式中的'bool'
- r - 如何将 o 命令发送到 R 进程
- r - R 闪亮。没有适用于“c('reactiveExpr', 'reactive', 'function')”类对象的“mutate”方法
- python - 机械化在网页上找不到 URL