web-dev-qa-db-ja.com

「afterAllでエラーがスローされました\ n [objectErrorEvent]がスローされました」-Angular4ユニットテスト

私が作業している間Angular 4ユニットテスト、グーグルマップとagmパッケージを使用するページの1つでエラーが表示されます

"afterAllでエラーがスローされました\ n [objectErrorEvent]がスローされました

何が問題になるのか知っていますか

コンソールのスクリーンショット

7
Tetali pratyush

また、この問題の解決策を探していましたが、ターミナル(ng test)を介して通常どおりテストを実行し、Karma runner Chrome)ウィンドウで[debug]をクリックして、開発を開くことがわかりました。コンソール、私はエラーの実際の出力を見ることができました。

追加のフラグを使用して単体テストを実行するという提案を見ました。これは私にはうまくいきませんでしたが、試してみる価値があるかもしれません:

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

ソース: https://stackoverflow.com/a/46840229

私の場合、サードパーティのパッケージクラスをモックしていて、単体テストでモックされたクラスの関数呼び出しの1つをモックするのを忘れていました。ターミナルにバブリングしていないエラーをスローしていました。

これでエラー自体が解決されないことをお詫びしますが、おそらく問題の核心をデバッグし、私と同じように解決策を見つけることに近づくでしょう。

3
Paul Acheson

私にとって、これを交換する:

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

このため:

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

明らかに失敗したテストの前に実行されたテストで、本当の原因を特定するのに役立ちました。

詳細:スイート全体で失敗したが、個別に実行すると合格したテストでこのエラーが発生していました。実際に失敗したのは、非同期で実行されていた以前のテストであることが判明しました。

(そのテストには、コードにエラーがあるテンプレートがあり、 このスタックオーバーフローの回答 の助けを借りて解決されました。)

2
jamesthe500