簡體   English   中英

使用Angular 2和Node的Jasmine測試不起作用

[英]Jasmine tests with Angular 2 and Node not working

我已經安裝了ng-fullstack生成器,並選擇了Angular 2和Node的選項。 除了測試之外,一切都很好。 當我嘗試執行測試時,它們將失敗。 我所做的任何搜索都告訴我將zone.js降級為0.6.2可以解決問題的方法,但是,我無法降級,因為Angular 2需要更高版本的Zone.js,所以我有點卡住了:

@angular/core@2.4.2 requires a peer of zone.js@^0.7.2 but none was installed.

需要注意的一點是,當我第一次安裝生成器時,它會安裝較低版本的zone.js-該版本與使測試正常工作兼容(根據我的Google搜索)。 如果我使用zone.js@^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

有人對我如何使茉莉花測試起作用有任何建議嗎? 我對此感到困惑。 提前致謝!

您應該將所有與區域相關的文件加載到測試配置文件中。

例如,如果您使用業力,則應包括

  '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'

在karma.conf.js文件塊中。

如果使用節點,則還應該有一個polyfill文件,該文件定義了所有文件將在測試開始之前加載,因此請將上述文件放入該polyfill文件中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM