web-dev-qa-db-de.com

Angular 2.0.0 - Testen "importiert durch das Modul 'DynamicTestModule'"

Ich habe ein Problem beim Testen von app.component.ts in Angular 2. Ich verwende angle-cli. Immer wenn ich ng test ausführe, macht meine app.component.spec.ts die Konsolenaufforderung mit dem Fehler: 

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

Ich habe die HomeModuleComponent in TestBed importiert

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

Kann mir jemand bei diesem Problem helfen?

19
xiotee

HomeModuleComponent ist Component nicht die Module, es muss also deklariert werden:

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

und dann können Sie die Komponente zum Testen als erstellen,

TestBed.createComponent(AppComponent);
21

In meiner Testspezifikation habe ich versehentlich eine service importiert, anstatt sie bereitzustellen. Ich habe den gleichen Fehler bekommen.

Durch das Hinzufügen des service-Objekts in das providers-Array wurde mein Fehler behoben.

2
Amit Chigadani