как проверить все мои услуги вводятся в компонент - PullRequest
2 голосов
/ 22 июня 2019

как проверить, все ли мои Сервисы внедрены в компонент

class TestComponent {
    constructor(testService: TestService) {}
}

в случае, если кто-нибудь удалит сервис из конструктора компонента, мой тестовый пример не пройдёт.

1 Ответ

2 голосов
/ 22 июня 2019

Мы можем сделать TestBed фиктивным угловым модулем и настроить его как один, включающий набор провайдеров,

TestBed.configureTestingModule({
  providers: [TestService]
});

Затем преобразовать токен в зависимость, используя его внутренний инжектор и TestBed,

testBedService = TestBed.get(TestService);

Тогда ваш контрольный пример будет таким, как

it('Service injected via inject(...) and TestBed.get(...) should be the same instance',
    inject([TestService], (injectService: TestService) => {
      expect(injectService).toBe(testBedService);
    })
);

См. https://codecraft.tv/courses/angular/unit-testing/dependency-injection/

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