首页 > 解决方案 > 如何用 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

标签: javascriptreactjsmockingjestjs

解决方案


推荐阅读