2017-01-10 19 views
2

ng-fullstackジェネレータをインストールし、角度2とノードのオプションを選択しました。すべてがうまくいっています...テストとは別に。テストを実行しようとすると失敗します。私が行った検索では、zone.jsを0.6.2にダウングレードしても問題は解決しますが、Angular 2にはZone.jsのそれ以降のバージョンが必要なので、私はダウングレードできないので、ちょっと固まってしまいます。角度2とノードが動作していないジャスミンテスト

@angular/[email protected] requires a peer of [email protected]^0.7.2 but none was installed. 

私が最初にジェネレータをインストールするときに、zone.jsのより低いバージョンがインストールされます。これは、テストを動作させるのに互換性のあるバージョンです(私のグーグルによると)。私は[email protected]^0.7.2でテストを実行した場合、私はこのエラーを参照してください。

Chrome 55.0.2883 (Mac OS X 10.12.2) ERROR 
    Uncaught Error: Missing: SyncTestZoneSpec 
    at node_modules/zone.js/dist/jasmine-patch.js:43 

10 01 2017 15:34:26.123:WARN [web-server]: 404: /base/node_modules/@angular/core/testing.js 
10 01 2017 15:34:26.126:WARN [web-server]: 404: /base/node_modules/@angular/platform-browser-dynamic/testing.js 

[15:34:26] 'client.unit_test' errored after 2.47 s 

誰もが私はジャスミンのテストは仕事を得ることができる方法の任意の提案を持っていますか?私はこれでちょっと困っています。前もって感謝します!

答えて

0

すべてのゾーン関連ファイルをテスト設定ファイルに読み込む必要があります。例えば

あなたはカルマを使用している場合、あなたはブロックkarma.conf.jsファイルに

'node_modules/zone.js/dist/zone.js', 
    'node_modules/zone.js/dist/long-stack-trace-zone.js', 
    'node_modules/zone.js/dist/proxy.js', 
    'node_modules/zone.js/dist/sync-test.js', 
    'node_modules/zone.js/dist/jasmine-patch.js', 
    'node_modules/zone.js/dist/async-test.js', 
    'node_modules/zone.js/dist/fake-async-test.js' 

を含める必要があります。

ノードを使用する場合は、テスト開始前にロードされるすべてのファイルを定義するpolyfillファイルも用意する必要があります。そのため、上記のファイルをそのpolyfillファイルに置きます。

+0

これらの順番も重要です。 –

関連する問題