I am working on component testing with angular2. in my html template i use the translate pipe. This is the code of the test :
import { ComponentFixture,
it's the ng2-translate github.com/ocombe/ng2-translate
You need to configure the TestBed
with the library module just like you would configure the library with your real application. And looking at the documentation, it shows configuring it by importing the module
imports: [
TranslateModule.forRoot()
]
So you should do the same in the TestBed
configuration
TestBed.configureTestingModule({
declarations: [ RightComponent ],
imports: [TranslateModule.forRoot()]
});
This is what the TestBed.configureTestingModule
is for: to configure a module for the test environment.
With latest Angular 4 compatible ngx-translate
you need to implement this directly into the component you want to test:
import {TranslateHttpLoader} from "@ngx-translate/http-loader";
import {Http, HttpModule} from "@angular/http";
import {
MissingTranslationHandler,
TranslateLoader,
TranslateModule,
TranslateService
} from "@ngx-translate/core";
...
export function HttpLoaderFactory(http: Http) {
return new TranslateHttpLoader(http, "./assets/i18n/", ".json");
}
...
imports: [
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps: [Http]
}
})
],
...
providers: [
TranslateService
...