У меня есть компонент A, который использует компонент B, c, D в своем шаблоне:
###template-compA.html
<comp-b></comp-b>
<comp-c [myinput]="obj.myinput"></comp-c>
<comp-d ></comp-d>
... и т.д.
Чтобы упростить, скажем, их только одна директива в компоненте A:
###template-compA.html
<comp-b></comp-b>
Мой comp-b имеет свои собственные зависимости (службы или другие comp).
Если я хочу протестировать comp-a следующим образом:
TestBed.configureTestingModule({
declarations: [comp-A],
imports: [ReactiveFormsModule],
}).overrideComponent(FAQListComponent, {
set: {
providers: [
{ provide: comp-AService, useValue: comp-AListSVC }
]
}
})
.compileComponents();
он не будет работать должным образом. Поэтому я:
TestBed.configureTestingModule({
declarations: [comp-A, comp-B],
imports: [ReactiveFormsModule],
}).overrideComponent(FAQListComponent, {
set: {
providers: [
{ provide: comp-AService, useValue: comp-AListSVC }
]
}
})
.compileComponents();
Это не работает, так как comp-b не имеет собственных зависимостей. И здесь я смущен, как я могу сделать unit test, если мне нужно каждый раз импортировать и удалять все остальные компоненты? Это похоже на очень большой объем работы. Есть ли другой способ? Какова была бы лучшая практика для тестирования компонента с вложенными компонентами, которые имеют свои собственные зависимости?
Большое спасибо,
Stéphane.