ng2-translate:无法在TranslatePipe.transform

时间:2018-04-27 17:37:01

标签: angular unit-testing ngx-translate ng2-translate testbed

我在Angular 5项目中使用ng2-translate,我正在尝试为一个组件创建单元测试。 我总是在我的测试中导入TranslateModule.forRoot( *...* ),测试将在我的视图中使用翻译管道。

但在两种情况下,在单元测试期间抛出上述错误: 我认为其他工作测试没有任何区别。

  

×应创建(44ms)       TypeError:无法读取undefined的属性'subscribe'           在TranslatePipe.transform(webpack:///./node_modules/ng2-translate/src/translate.pipe.js?:74:75)           at Object.eval [as updateRenderer](ng:///DynamicTestModule/MyComponent.ngfactory.js:127:70)           at Object.debugUpdateRenderer [as updateRenderer](webpack:///./node_modules/@angular/core/esm5/core.js?:14951:21)           在checkAndUpdateView(webpack:///./node_modules/@angular/core/esm5/core.js?:14065:14)

出现这种情况的原因是什么? 我不使用TranslateService,但我在模板中使用管道。 有没有人遇到同样的问题?

1 个答案:

答案 0 :(得分:8)

我有同样的问题,我添加到TranslateService模拟类:

public onLangChange: EventEmitter<any> = new EventEmitter(); public onTranslationChange: EventEmitter<any> = new EventEmitter(); public onDefaultLangChange: EventEmitter<any> = new EventEmitter();