如何在 Angular 的 Karma 中使用 Froala 编辑器测试组件?

How to test a component with Froala Editor in Karma for Angular?

我在我的组件中使用 Froala 编辑器。当我 运行 网站时,编辑器工作正常。但是,spec.ts 文件产生了这个错误。

TypeError: this.$element.froalaEditor is not a function

有什么解决办法吗?

onAddPost 函数已被覆盖,没有问题。但是,由于 Froala 编辑器本身的错误,测试用例失败了。

所以,正如我所见,不要在测试中使用组件的模板,因此您只需从导入中删除 FroalaEditorModule, FroalaViewModule,然后添加 template override 为您的组件,例如:

TestBed.configureTestingModule({
   ....
})
.compileComponents()
.overrideComponent(PostsAddComponent, {
    set: {
        template: ""
    }
});

由于您的组件没有模板,您不会使用 froala 组件和指令,它不会访问这个全局脚本并且错误应该消失。希望对您有所帮助。