Я тестирую Angular-компонент, и мой компонент зависит от сервиса, поэтому конструктор моего компонента логически внедряет сервис.На ngOnInit
служба вызывается в нескольких местах.
Проблема, с которой я сталкиваюсь, заключается в том, что мне нужно протестировать часть компонента, и я хочу смоделировать только небольшую часть службы.После насмешек я понял, что большое количество кода, находящегося в ngOnInit
, зависит от службы, так что это приводит к тому, что я реплицирую множество кода в MockService, чтобы я мог заставить ngOnInit
работать и правильно создавать экземпляр компонента.Но в то же время это много репликации.
Я не хочу высмеивать все, что находится в этом сервисе, только ту часть, которая мне нужна в функции it ().Как мне обойти это?
Есть ли способ, которым я все еще могу создать свой компонент для тестирования, внедрить фиктивный сервис, но при этом it () переопределяет все, что мне нужно?
Я не знаюне хочу создавать MockService, расширяя OriginalService, поскольку я хочу полностью изолировать компонент.
Спасибо.