我有一个包含<attr name="textColorError" type="color|reference"/>
的组件。为了防止在测试中从iframe加载不存在的URL,我想模拟组件的模板。我以为可以使用iframe
来做到这一点,但是没有效果。测试运行时,我可以看到原始模板存在,并且iframe加载了不存在的网址。
我尝试过的事情:
TestBed.overrideComponent()
如何覆盖组件以使用fixture = TestBed.overrideComponent(IFrameComponent, {
remove: {
templateUrl: './iframe.component.html'
},
add: {
template: '<div></div>'
}
}).createComponent(IFrameComponent);
而不是template
?
答案 0 :(得分:2)
它对我不起作用的原因是我在{em> TestBed.overrideComponent()
之后打了compileComponents()
。
正确的订单是这样:
TestBed.configureTestingModule({
declarations: [IFrameComponent]
}).overrideComponent(IFrameComponent, {
remove: {
templateUrl: './iframe.component.html'
},
add: {
template: '<div data-test-iframe="iframe"></div>'
}
}).compileComponents();
fixture = TestBed.createComponent(IFrameComponent);