Angular 2.0.0 - Тестирование ", импортированное модулем DynamicTestModule"

У меня возникла проблема при тестировании app.component.ts в Angular 2. Я использую angular -cli. Всякий раз, когда я запускаю ng test, мой app.component.spec.ts вызывает консольную подсказку с ошибкой:

 Failed: Unexpected directive 'HomeModuleComponent' imported by the module 'DynamicTestModule'
 Error: Unexpected directive 'HomeModuleComponent' imported by the module 'DynamicTestModule'

Я импортировал HomeModuleComponent в TestBed

TestBed.configureTestingModule({
  declarations: [AppComponent],
  imports : [ HomeModuleComponent ]
});

Может ли кто-нибудь помочь мне с этой проблемой?

Ответы

Ответ 1

HomeModuleComponent Component не Module, поэтому он должен быть в объявлениях:

TestBed.configureTestingModule({
  declarations: [AppComponent, HomeModuleComponent],
  imports : [ ]
});

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

TestBed.createComponent(AppComponent);

Ответ 2

В моей тестовой спецификации по ошибке я импортировал service а не предоставлял ее. Я получал ту же ошибку.

Добавление service обратно внутри providers устранило мою ошибку.