web-dev-qa-db-fra.com

Quand utiliser waitforasync in angular=

De la documentation, nous pouvons lire:

waitForAsync(fn: Function): (done: any) => any

Enveloppe une fonction de test dans une zone d'essai asynchrone. Le test complète automatiquement lorsque tous les appels asynchrones dans cette zone sont effectués. Peut être utilisé pour envelopper un appel d'injecteur.

Je ne pouvais pas comprendre, quand utiliser waitForAsync fonction? Quelle est la différence entre waitForAsync vs (async ou fakeAsync)?

6
Thomas Banderas

enveloppe une fonction de test dans une zone d'essai asynchrone. Le test complète automatiquement lorsque tous les appels asynchrones dans cette zone sont effectués. Peut être utilisé pour envelopper un appel d'injecteur.

Donc, vous n'avez pas à appeler manuellement done() _ Callback passée sous forme d'argument pour marquer le test avait fini ou d'utiliser fakeAsync() et d'autres fonctions d'assistance from '@angular/core/testing'

it('...', waitForAsync(inject([AClass], (object) => {
  object.doSomething.then(() => {
    expect(...);
  })
});

Voir Docs .

0
Felix