我有以下情况:
ParentComponent和ChildComponent都具有name属性。将ParentComponent注入到ChildComponent中,并且子级显示父级和自己的名称。
我知道用服务来解决这个问题是更好的方法...
现在我在测试中遇到了问题。父项的名称在ngOnInit上设置,这很晚。我的测试不起作用。 我想我应该创建一个ComponentFixture以使用whenStable()方法,但是当我创建ChildComponent的固定装置时,ParentComponent已经在beforeEach中创建:
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ ParentComponent, ChildComponent ],
providers: [ParentComponent]
}).compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(ChildComponent);
component = fixture.componentInstance;
// how to create fixture of:
// component.parentComponent
// using the existing instance
fixture.detectChanges();
});
还是还有其他方法可以等待主机组件就绪?使用ChildComponent的ComponentFixture的whenStable无效。
上的完整示例答案 0 :(得分:0)
假设您正在编写单元测试用例,作为一种解决方法,您可以通过添加
在beforeEach()内部调用ParentComponentcomponent.parentComponent.ngOnInit();