嘿,我用最新的 angular cli 创建了一个新项目。它创建了一个使用 jasmine 作为测试框架的项目。我想用摩卡。
我在项目https://github.com/arranbartish/angular-cli-seed/blob/master/karma.conf.js之后添加了所需的插件
有没有人遇到过错误,或者有没有办法找出是什么导致了这个问题。
嘿,我用最新的 angular cli 创建了一个新项目。它创建了一个使用 jasmine 作为测试框架的项目。我想用摩卡。
我在项目https://github.com/arranbartish/angular-cli-seed/blob/master/karma.conf.js之后添加了所需的插件
有没有人遇到过错误,或者有没有办法找出是什么导致了这个问题。
zone.js
在测试环境中使用时使用了一些“补丁”。为方便起见,zone.js
提供将所有这些补丁捆绑在一起的单个模块。该模块是zone.js/dist/zone-testing
. 这是@angular/cli
在测试设置中使用的包,它以src/test.ts
. 问题是zone.js/dist/zone-testing
假设您使用的是 jasmine 并包含一个 jasmine 补丁。茉莉花补丁是导致您的错误的原因。
要修复它,您只需自己导入每个补丁,而不是使用方便的预打包模块。在src/test.ts
import 'zone.js/dist/zone-testing';
需要成为
import 'zone.js/dist/long-stack-trace-zone';
import 'zone.js/dist/proxy';
import 'zone.js/dist/sync-test';
import 'zone.js/dist/mocha-patch';
import 'zone.js/dist/async-test';
import 'zone.js/dist/fake-async-test';
import 'zone.js/dist/zone-patch-promise-test';
这些是使用的完全相同的包zone.js/dist/zone-testing
;但是,它正在导入mocha-patch
而不是jasmine-patch
.