Угловое тестирование: зачем тестировать компонент у провайдеров? - PullRequest
0 голосов
/ 17 января 2019

В Angular docs приведен пример, в котором тестируемый компонент размещается в разделе поставщиков TestBed.configureTestingModule рядом с зависимой службой. Затем они используют TestBed.get вместо TestBed.createComponent для доступа к компоненту:

app / welcome / welcome.component.spec.ts (настройка только для класса)

beforeEach(() => {
  TestBed.configureTestingModule({
    // provide the component-under-test and dependent service
    providers: [
      WelcomeComponent,
      { provide: UserService, useClass: MockUserService }
    ]
  });
  // inject both the component and the dependent service.
  comp = TestBed.get(WelcomeComponent);
  userService = TestBed.get(UserService);
});

Большинство других документов и учебных пособий, которые я вижу, помещают компонент под декларации.

Когда я хотел бы проверить компонент в поставщиках и почему?

1 Ответ

0 голосов
/ 17 января 2019

В документации упоминается, что если component-under-test имеет некоторый DI, то нам нужно создать такой компонент, как этот. Он создаст экземпляр компонента, аналогично тому, как создается экземпляр службы. Вы можете получить этот компонент, используя TestBed.get(ComponentName), и протестировать его.

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