ngx-monaco-editor搭配Karma+Jasmine单测如何正确加载Monaco实例
Karma + Jasmine 单元测试环境下 @materia-ui/ngx-monaco-editor 全局对象识别异常问题
问题基础场景
- 业务应用中集成
@materia-ui/ngx-monaco-editor组件,组件依赖的 monaco 类型定义直接由该库自身暴露的类型声明文件提供 - 组件核心实现逻辑:注入
MonacoEditorLoaderService,通过 RxJS 流监听 monaco 加载完成状态,在加载完成的回调中调用monaco.languages.json.jsonDefaults.setDiagnosticsOptions方法配置 JSON 语言诊断参数 - 异常表现:在 Karma + Jasmine 单元测试运行时,全局
monaco对象始终无法被测试环境正常识别,抛出"monaco未定义"报错
已尝试的排查配置(均未生效)
- 第一种配置:在
angular.json的 test 段配置中,将 monaco-editor 的editor.main.js脚本加入 scripts 引入列表,配置完成后问题未改善 - 第二种配置:未采用通过
MONACO_PATH指向 CDN 加载 monaco 的方案,尝试在应用、测试项目的 assets 配置中,将node_modules下的 monaco-editor 目录映射到assets/monaco-editor静态路径,实际测试运行时该静态资源映射配置未生效,测试套件始终无法正常获取 monaco 实例
内容的提问来源于stack exchange,提问作者mindparse
相关产品推荐
相关产品推荐

