茉莉花testing与angular2和节点不工作

我已经安装了ng-fullstack生成器并为Angular 2和Nodeselect了选项。 除了testing以外,一切都很好玩。 当我尝试执行testing他们失败。 我所做的任何search都告诉我,将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 – 这个版本可以兼容testing的工作(根据我的谷歌search)。 如果我用zone.js@^0.7.2执行testing,我看到这个错误:

 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 

有没有人有任何build议,我可以让我的茉莉花testing工作? 我对这个有点困惑。 提前致谢!

您应该在您的testingconfiguration文件中加载所有区域相关的文件。

例如,如果你使用业力,你应该包括

  '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文件,它定义了在testing开始之前所有的文件将被加载,所以把上面的文件放在这个polyfill文件中。

Interesting Posts