取决于ContainerRef的测试服务

时间:2019-06-21 11:27:49

标签: angular jasmine karma-runner stub angular-test

我正在尝试对一项服务进行测试,该服务应在进行任何工作和以下方法之前将ContainerRef插入或删除动态组件到该容器中。

我无法测试我的任何方法,因为它们需要设置ContainerRef

  

this.containerRef.clear不是函数

但是,我不知道如何模拟或存根这个ContainerRef

1 个答案:

答案 0 :(得分:0)

我最终以

service = TestBed.get(Service);

service.containerRef = {
    clear(): void {
    },
    insert(viewRef: ViewRef, index?: number): void {
    },
    detach(index?: number): void {
    }
} as ViewContainerRef;

spyOn(service.containerRef, 'clear');
spyOn(service.containerRef, 'insert');
spyOn(service.containerRef, 'detach');