Угловое тестирование: возможно ли заблокировать сервис, предоставляемый импортированным модулем - PullRequest
0 голосов
/ 20 ноября 2018

Я тестирую угловой компонент, который использует член другого модуля (это декоратор).Вот почему мне нужно импортировать другой модуль при создании DynamicTestModule.Импортированный модуль предоставляет сервис, который я хотел бы заглушить.Возможно ли использовать утилиты Angular Testing?Или, может быть, я могу заглушить весь импортированный модуль и обеспечить его заглушку?Не могли бы вы привести такой пример?

Вот мое определение модуля тестирования:

TestBed.configureTestingModule({
  imports: [TranslationModule],
  declarations: [SomeComponent],
  providers: [
    { provide: Router, useValue: routerSpy },
    { provide: ActivatedRoute, useValue: ActivatedRouteStub },
    { provide: SomeService, useValue: {} },
    { provide: ToastrService, useValue: {} }
  ],
  schemas: [NO_ERRORS_SCHEMA]
});

1 Ответ

0 голосов
/ 20 ноября 2018

Если вы ссылаетесь на «Someservice», в верхней части кода добавьте следующее:

class SomeserviceStub { // stubbed code }

и измените в массиве вашего провайдера:

{ provide: Someservice, useClass: SomeserviceStub }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...