web-dev-qa-db-fra.com

Angular 2.0.0 - Testing "importé par le module 'DynamicTestModule'"

Je rencontre un problème pour tester app.component.ts dans Angular 2. J'utilise angular-cli. Chaque fois que j'exécute ng test, app.component.spec.ts fait en sorte que la console affiche l'invite suivante: 

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

J'ai importé le composant HomeModuleComponent dans TestBed

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

Quelqu'un peut-il m'aider avec ce problème?

19
xiotee

HomeModuleComponent est Component pas la Module, elle doit donc figurer dans les déclarations:

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

et ensuite vous pouvez créer le composant à tester en tant que,

TestBed.createComponent(AppComponent);
21
manjunath shanbhag

Dans mes spécifications de test, j'importais par erreur une service au lieu de la fournir. J'avais la même erreur.

L'ajout du tableau service à l'intérieur du tableau providers a résolu mon erreur.

2
Amit Chigadani