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?
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);
In my test spec, by mistake I was importing a service
instead of providing it. I was getting the same error.
Adding the service
back inside providers
array resolved my error.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With