Credit to devdocs.io

angular 2.0_typescript

angular

fakeAsync

Experimental Function

Class Export

export fakeAsync(fn: Function) : args: any[]) => any

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.

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 => {
       var flag = false;
       setTimeout(() => { flag = true; }, 100);
       expect(flag).toBe(false);
       tick(50);
       expect(flag).toBe(false);
       tick(50);
       expect(flag).toBe(true);
     }));
});

exported from @angular/core/testing/index defined in @angular/core/testing/fake_async.ts

© 2010–2016 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://angular.io/docs/ts/latest/api/core/testing/index/fakeAsync-function.html