Что я сделал, так это сконфигурировал всю свою конфигурацию, связанную с переводом, в отдельном TranslationModule
, который я импортировал в SharedModule
.
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
@NgModule({
declarations: [],
imports: [CommonModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: IfYouHaveACustomFactory,
deps: [HttpClient]
}
})],
exports: [TranslateModule],
providers: [],
})
export class TranslationModule {
}
Затем его можно экспортировать во все компоненты, которые импортируют SharedModule
,
@NgModule({
imports: [],
exports: [TranslationModule, SomeOtherModule],
})
export class SharedModule { }
И в своем spec-файле вы просто импортируете SharedModule
в свой TestBed.configureTestingModule()
как
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [
RouterTestingModule,
SharedModule,
...
И тесты для компонентов, которые используют службу перевода или конвейер, должны работать нормально!