gpt4 book ai didi

angular - 将新创建的 angular cli 项目转换为使用 mocha 框架而不是 jasmine

转载 作者:太空狗 更新时间:2023-10-29 18:22:42 25 4
gpt4 key购买 nike

嘿,我用最新的 angular cli 创建了一个新项目。它创建了一个使用 jasmine 作为测试框架的项目。我想用 Mocha 。

我在项目后面添加了所需的插件 https://github.com/arranbartish/angular-cli-seed/blob/master/karma.conf.js

使用命令 ng test enter image description here 运行测试时出现以下错误

有没有人遇到过错误,或者有什么方法可以找出导致此问题的原因。

最佳答案

问题

zone.js 在测试环境中使用时会使用一些“补丁”。为方便起见,zone.js 提供了一个将所有这些补丁捆绑在一起的模块。该模块是 zone.js/dist/zone-testing。这是 @angular/cli 在测试设置中使用的包,它被导入到 src/test.ts 中。问题是 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

关于angular - 将新创建的 angular cli 项目转换为使用 mocha 框架而不是 jasmine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52176565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com