2017-12-18 20 views
0

私のアプリケーションの単体テストを実行しているときにこの奇妙なエラーで戦っています。角度でカルマテストを実行しているときに "捕捉されていない[オブジェクトオブジェクト]"

zone.js:260 Uncaught [object Object] thrown 
Zone.runTask @ zone.js:260 
ZoneTask.invoke @ zone.js:423 

どのテストが失敗したのかわかりませんが、コンソールではそのエラーのみが表示されます。私の地元では何の問題もなくテストが実行されています。

エラーが発生する前に、「スクリプトエラー」というエラーが発生しましたが、ChromeHeadlessの--disable-web-securityフラグを使用して解決しました。この新しいエラーと関係があるかどうかはわかりません。

私のロケールとリモートの両方がlinuxです。

+0

あなたはこれを理解しましたか? – Justin

+0

最終的に私はそれを解決しました。それはMockBackendモジュールの問題と思われました...もし私がそれを使用しなければ、エラーは表示されません。私はHTTP呼び出しをテストするために別の方法を使用しました。 –

+0

私たちはまた、HTTPリクエストに対しても問題を追跡しました。完全な回答をご覧ください:https://stackoverflow.com/questions/48101519/karma-start-fails-headlesschrome-error-uncaught-object-object?noredirect=1&lq=1 – Justin

答えて

0

リモートまたは異なるバージョンのグローバルnpmパッケージに異なるバージョンのモジュールがインストールされている可能性があります。依存関係が一致しないと、いずれのマシンでも異なる結果が得られます。

は、両方のマシンにあなたのNPMのキャッシュをパージ

npm cache clean 

は、両方のマシンにあなたのnode_modulesを再インストールします

rm -fr node_modules 
npm install 

は、ローカルNPMパッケージは、各マシンで同じであることを確認し

npm list --depth=0 

グローバルパッケージのバージョンが同じであることを確認します。このようなグローバルパッケージを一覧表示することができます

npm list -g --depth=0 

すべて同じものを取得したら、両方のマシンで同じ結果が表示されるはずです。次の個別テストを実行し、それが動作する場合カルマ

karma start 

を実行しようとすることによって

スタート。

karma run -- --grep=search_string 

カルマを起動できないというエラーが表示された場合は、起動スクリプトでテストを確認し、Angularアプリケーションからモジュールをコメントアウトできるかどうかを確認します。カルマを実行するまで、依存関係を減らしてください。あなたが犯罪者を見つけるまで、依存関係をゆっくりと再導入してください。

関連する問題