我在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,但我在模板中使用管道。 有没有人遇到同样的问题?
答案 0 :(得分:8)
我有同样的问题,我添加到TranslateService模拟类:
public onLangChange: EventEmitter<any> = new EventEmitter();
public onTranslationChange: EventEmitter<any> = new EventEmitter();
public onDefaultLangChange: EventEmitter<any> = new EventEmitter();