【问题标题】:Testing service which depends on ContainerRef依赖于 ContainerRef 的测试服务
【发布时间】:2019-06-21 11:27:49
【问题描述】:
我正在尝试对应该在任何工作之前获取 ContainerRef 的服务进行测试,并且以下方法将动态组件插入或删除到此容器中。
我无法测试我的任何方法,因为它们需要设置 ContainerRef。
this.containerRef.clear 不是函数
但是,我不明白如何模拟或存根此ContainerRef。
【问题讨论】:
标签:
angular
jasmine
karma-runner
stub
angular-test
【解决方案1】:
我最终得到了
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');