嘿,我用最新的angular cli创建了一个新项目。它创建了一个使用jasmine作为测试框架的项目。我想用摩卡咖啡。
我在项目https://github.com/arranbartish/angular-cli-seed/blob/master/karma.conf.js之后添加了所需的插件
在使用命令ng test运行测试时,我得到以下错误
有没有人遇到过错误,或者有没有办法找出是什么导致了这个问题。
发布于 2018-12-22 05:01:32
问题所在
当在测试环境中使用zone.js
时,它会使用少量的“补丁”。为了方便起见,zone.js
提供了一个将所有这些补丁捆绑在一起的模块。这个模块就是zone.js/dist/zone-testing
。这是在src/test.ts
中导入的@angular/cli
在测试设置中使用的包。问题是zone.js/dist/zone-testing
假设您使用的是jasmine,并包含了一个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
。
https://stackoverflow.com/questions/52176565
复制相似问题