如何使用 Jest 测试 returns 箭头函数的函数?

How to test a function that returns an arrow function with Jest?

我有这样的功能:

export const myFunc = (a, b ,callBack) => {
    const timer = setTimeout(() => {
        callBack(a+b);
    }, 10);
    return () => clearTimeout(timer);
};

我可以通过这样做很好地测试回调函数:

jest.useFakeTimers();

describe('myFunc', () => {
    const callBack = jest.fn();

    it('runs myFunc', () => {
        myFunc(1, 2, callBack);
        jest.runAllTimers();

        expect(callBack).toHaveBeenCalledWith(3);
    });

然而,最后一行 return () => clearTimeout(timer) 从未以某种方式测试过。开玩笑的报告只是说这一行 function not coveredstatement not covered。谁能告诉我一种方法来覆盖这一行而不使用任何其他外部测试库(如酶)?

函数没有被调用,所以没有覆盖。

另一个测试是:

    let cleanup = myFunc(1, 2, callBack);
    cleanup()
    jest.runAllTimers();
    expect(callBack).not.toHaveBeenCalled();