Я пытаюсь проверить взаимодействие между компонентом хоста и дочерним компонентом в приложении с угловым выражением. Я не знаю, как получить ссылку на дочерний компонент, созданный при создании родителя. Вот настройка:
child.component.spec.ts
@Component({template: '<child [data]="model"></child>'})
class HostComponent {
public model:any;
}
describe('ChildComponent', () => {
let hostFixture: ComponentFixture<HostComponent>;
let childFixture: ComponentFixture<ChildComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ChildComponent, HostComponent]
});
}));
beforeEach(() => {
// this creates the child component as well, but how to get to it?
hostFixture = TestBed.createComponent(HostComponent);
// this creates a NEW instance of child component, not the one from the Host template
// so it not the instance I actually want to test
childFixture = TestBed.createComponent(ChildComponent);
});
});
Изменение model
значения в hostFixture.componentInstance
на самом деле не изменить data
входного значения childFixture.componentInstance
; что я понял, что есть два экземпляра дочернего компонента.
Мой вопрос прост, как я могу заставить childFixture
ссылаться на компонентный прибор, найденный в шаблоне HostComponent
, а не на другой экземпляр, который у меня сейчас есть?
Документы не помогли.