import { fakeAsync, tick } from '@angular/core/testing';
function setIntervalWrapper(callback: () => void, interval: number): void {
callback();
tick(interval);
}
在该函数中,我们首先调用回调函数,然后使用tick()函数模拟interval秒数的时间流逝。
it('should call callback after interval', fakeAsync(() => {
let called = false;
setIntervalWrapper(() => {
called = true;
}, 1000);
expect(called).toBeFalsy();
tick(1000);
expect(called).toBeTruthy();
}));
在该测试用例中,我们模拟了一个1秒的间隔,并且在1秒后检查回调函数是否已被调用。
通过这些步骤,我们就可以在Angular中使用Jasmine测试setInterval了。