web-dev-qa-db-fra.com

"Une erreur a été générée dans afterAll\n [objet ErrorEvent] levé" -Angular 4 tests unitaires

Pendant que je travaillais sur Angular 4 tests unitaires, une des pages utilisant Google Maps et le package agm affiche une erreur 

"Une erreur a été générée dans afterAll\n [objectEventEvent]]

Est-ce que tout le monde sait ce qui pourrait être le problème

Capture d'écran de la console

7
Tetali pratyush

Je cherchais également une solution à ce problème et découvris que si je lançais mon test normalement via un terminal (ng test), puis cliquais sur le débogage dans la fenêtre de Karma runner Chrome, puis ouvrais ma console de développement, je pouvais voir le résultat réel. l'erreur. 

J'ai vu une suggestion d'exécuter les tests unitaires avec un drapeau supplémentaire; cela n'a pas fonctionné pour moi, cela vaut peut-être la peine d'essayer cependant:

  • CLI v6.x --sourceMap = false 
  • CLI v1.x --sourcemaps = false

Source: https://stackoverflow.com/a/46840229

Dans mon cas, je me moquais d'une classe de paquet tierce partie et j'avais oublié de me moquer de l'un des appels de fonction de la classe simulée lors de mes tests unitaires; il jetait une erreur qui ne bouillonnait pas au terminal.

Toutes mes excuses pour que cela ne résolve pas l'erreur en soi, mais peut-être que cela vous rapprochera du débogage du nœud du problème et de la recherche d'une solution comme elle l'a fait pour moi.

3
Paul Acheson

Pour moi, permuter ceci:

beforeEach(async(() => { //...

pour ça:

beforeEach(() => { //...

dans un test qui a eu lieu avant celui qui était apparemment en panne, m'a aidé à identifier le véritable coupable.

Détails: J'obtenais cette erreur pour des tests qui ont échoué dans toute la suite, mais qui se sont bien passés individuellement. Il s’est avéré qu’il s’agissait d’un test précédent, exécuté de manière asynchrone, qui échouait en réalité.

(Ce test comportait un modèle contenant une erreur dans le code, résolu à l'aide de cette réponse Stool Overflow .)

0
jamesthe500