У меня MainComponent
, который использует ChildComponentA
как @ViewChild
. MainComponent
вызывает метод на ChildComponentA
.OverrideComponent with TestBed
Я хочу написать единичный тестовый корпус, издевательский ChildComponentA
. Как я могу это сделать, используя TestBed
(в Angular 2 RC5)?
Раньше я использовал overrideDirective(MainComponentName, ChildComponentA, MockChildComponentA);
Есть ли эквивалент с использованием TestBed
?
Я попытался с помощью
TestBed.overrideComponent(ChildComponentA,{
set: {
template: '<div></div>'
}
});
который просто задает шаблон, но я хочу, чтобы дразнить методы в компоненте, а также.
Спасибо за ваш ответ. Я сконфигурировал TestBed.configureTestingModule с mockComponent, как вы упомянули, но не переопределилModule и все еще работает. Я не импортировал MyModule. – Kashyap
Да, пример переопределения был на всякий случай, если вы хотите повторно использовать производственный ngModule в своих тестах. –
У меня есть аналогичный случай, но я тестирую службу, в которой используется компонент. Я хочу издеваться над этим компонентом. Я попробовал это, но это не сработает. Когда я запускаю тесты, я получаю «Ошибка: для XComponent не найдено ни одной фабрики компонентов». Есть идеи? – jpgrassi