Angular 2.0.0 - Testing " imported by the module 'DynamicTestModule' "

xiotee picture xiotee · Oct 13, 2016 · Viewed 27.4k times · Source

I am having a problem in testing app.component.ts in Angular 2. I am using angular-cli. Whenever I run ng test, my app.component.spec.ts makes the console prompt with the error:

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

I imported the HomeModuleComponent in TestBed

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

Can anyone help me with this problem?

Answer

manjunath shanbhag picture manjunath shanbhag · Jan 29, 2017

HomeModuleComponent is Component not the Module, so it has to be in declarations:

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

and then you can create the component to test as,

TestBed.createComponent(AppComponent);