javascript - 如何用 jest 模拟或测试异步 cb 函数?
问题描述
说我有这个:
componentDidMount() {
window.Something.windowFunction(EVENT_HANDLER, this.myFunc)
}
myFunc() {
// test that this was called
}
我怎样才能模拟窗口对象以确保我进入myFunc
我已经做到了
const mockFn = jest.fn().mockImplementation((eventHandler, eventCallback) => {
return eventCallback()
})
global.Something = {
windowFunction: mockFn('event-handler', () => jest.fn()),
}
但它从不打电话myFunc
解决方案
推荐阅读
- reactjs - React Routing 和 react-router-dom 中的问题
- javascript - 当加载某个 AJAX 元素 CONTAINING SPECIFIC TEXT 时,如何使用 waitForKeyElements 触发函数?
- flutter - 如何在 Flutter 中创建一个随着页面滚动而移动的浮动小部件
- anylogic - 使用 Anylogic 在 excel 中保存信息时出现 XmlValueDisconnectedException
- python - 如何通过 __reduce__ 实现代码执行进行酸洗?
- reactjs - 如何在 AWS 中启用 API Gateway 和 React 应用程序之间的 CORS 策略?
- c - 什么是 Solaris 11 中用于编译 c 程序的 CC 编译器。make 文件指定类似“CC=cc -Xa -mt -xc99=no_lib”
- javascript - 如何从 json 数组中删除名称字段?
- visual-studio - 调试服务时,如何配置 Visual Studio 以使用 --remote-debugging-port=9222 启动 Chrome?
- javascript - Textarea 和复选框导致提交按钮在 Firefox 中失败