我有這樣的功能:
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 covered和statement not covered. 誰能告訴我在不使用任何其他外部測驗庫(如酶)的情況下覆寫這條線的方法?
uj5u.com熱心網友回復:
該函式沒有被呼叫,所以它沒有被覆寫。
另一個測驗是:
let cleanup = myFunc(1, 2, callBack);
cleanup()
jest.runAllTimers();
expect(callBack).not.toHaveBeenCalled();
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/470386.html
標籤:javascript 反应 单元测试 开玩笑的
下一篇:將模塊匯入測驗檔案
