我正在使用 ng-mocks,想要测试使用翻译的角度组件。 我很想使用 .withTranslation 来尊重语言文件结构。 但我还没有找到使用 TranslateTestingModule 的方法,并且需要模拟 TranslateService,例如:
beforeEach(() =>
MockBuilder(MyDialogComponent)
.mock(TranslateService, { instant: (key) =>
key.includes('rejected') ? 'No!': 'OK!'
})
.provide(MyDialogService)
.then(() => service = TestBed.inject(MyDialogService))
);
有人知道如何获得它吗?
我尝试使用模拟构建器,例如:
const ngModule = MockBuilder(BonusDialogComponent)
.provide(BonusDialogService)
.build();
ngModule.imports = [TranslateTestingModule.withTranslations(LANGUAGE, TRANSLATIONS)];
service = TestBed.inject(BonusDialogService);
return TestBed.configureTestingModule(ngModule).compileComponents();
但只得到了一个
No Provider for TranslateService
谢谢你! 我找到了其他合适的解决方案:
beforeEach(() => MockBuilder([
MyDialogComponent,
TranslateModule,
TranslateTestingModule.withTranslations('de', de),
])
.provide(BonusDialogService)
.then(() => service = TestBed.inject(MyDialogService))
);