fakeAsync

Wraps a function to be executed in the fakeAsync zone:

  • microtasks are manually executed by calling flushMicrotasks(),
  • timers are synchronous, tick() simulates the asynchronous passage of time.

查看"说明"...

fakeAsync(fn: Function): (...args: any[]) => any
      
      fakeAsync(fn: Function): (...args: any[]) => any
    
参数
fn Function
返回值

(...args: any[]) => any: The function wrapped to be executed in the fakeAsync zone

说明

If there are any pending timers at the end of the function, an exception will be thrown.

Can be used to wrap inject() calls.

使用说明

Example

describe('this test', () => { it('looks async but is synchronous', <any>fakeAsync((): void => { let flag = false; setTimeout(() => { flag = true; }, 100); expect(flag).toBe(false); tick(50); expect(flag).toBe(false); tick(50); expect(flag).toBe(true); })); });
      
      describe('this test', () => {
  it('looks async but is synchronous', <any>fakeAsync((): void => {
       let flag = false;
       setTimeout(() => { flag = true; }, 100);
       expect(flag).toBe(false);
       tick(50);
       expect(flag).toBe(false);
       tick(50);
       expect(flag).toBe(true);
     }));
});