У меня есть реактивная форма, которую я разделил на более мелкие компоненты, чтобы иметь возможность лучше управлять каждым элементом формы в отдельности.Я полагаюсь на источники событий, чтобы иметь возможность сообщать о состоянии каждого элемента управления «родительскому» компоненту, который управляет состоянием всей формы.
Мой метод ngOnInit для данного компонента выглядит следующим образом:
@Output() formReady: EventEmitter<FormControl> = new EventEmitter();
ngOnInit() {
(some other unrelated logic here...)
this.formReady.emit(this.userIdFormControl);
}
Тест, который я пытаюсь написать для этого компонента, довольно прост
it('should emit formReady event when component is initialised', () => {
spyOn(component.formReady, 'emit');
expect(component.formReady.emit).toHaveBeenCalled();
});
Однако этот тест не пройден, потому что шпион никогда не вызывается (хотя, если я добавлю clgЗаявление для ngOnInit Я вижу, как оно печатается столько раз, сколько ожидалось).
Мой вопрос: могут ли шпионы быть вызваны на ngOnInit?Я не понимаю, почему они не работают, но вы никогда не знаете!
Заранее спасибо,
Tiago