错误:TranslateStore 没有提供程序

Nee*_*esh 7 javascript jasmine angular

“错误:TranslateStore 没有提供程序!” 而 Angular 4 中的 UI 单元测试翻译服务。运行 ng test 命令后,我收到测试用例失败错误以及上述错误消息。

BHA*_*RAT 17

尝试这个:

import {TranslateFakeLoader,TranslateLoader,TranslateModule,TranslateService } from '@ngx-translate/core';

TestBed.configureTestingModule({
??????imports: [
        ...
????????TranslateModule.forRoot({
??????????loader: {
????????????provide: TranslateLoader,
????????????useClass: TranslateFakeLoader
??????????}
????????})
??????],
      ...
??????providers: [
????????TranslateService
??????]
Run Code Online (Sandbox Code Playgroud)


dc7*_*dc7 5

导入并添加TranslateStore到我的延迟加载模块中的提供程序为我解决了问题。

\n
import { TranslateModule,TranslateService,TranslateStore } from \'@ngx-translate/core\';\n\nexport function createTranslateLoader(http: HttpClient) {\n  return new TranslateHttpLoader(http, \'./assets/i18n/\', \'.json\');\n}\n\n    @NgModule({\n      declarations: [...],\n      imports: [\n        TranslateModule.forChild(\n          \xe2\x80\x82\xe2\x80\x82{\n            loader: {\n              provide: TranslateLoader,\n              useFactory: (createTranslateLoader),\n              deps: [HttpClient]\n          }\n        \n              })],\n              providers:[TranslateStore ]\n    })\n
Run Code Online (Sandbox Code Playgroud)\n

检查下面的问题链接以获取更多信息

\n

https://github.com/ngx-translate/core/issues/883#issuecomment-502037966

\n