У меня есть следующий тест:
import { throttle } from "./event";
jest.useFakeTimers();
it('mock setTimeout test', () => {
const mockedFunction = jest.fn();
throttle(mockedFunction, 1);
expect(setTimeout).toHaveBeenLastCalledWith(mockedFunction, 1000);
expect(setTimeout).toHaveBeenCalledTimes(1);
});
где дроссельная заслонка:
export const throttle = (func, wait) => {
let timer = null;
return function(...args) {
if (timer === null) {
timer = setTimeout(() => {
func.apply(this, args);
timer = null;
}, wait);
}
};
};
но тест не пройден: