6

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

但是,在两种情况下,在单元测试期间会引发上述错误:我看不出与其他工作测试有任何区别。

× 应该创建 (44ms) TypeError: Cannot read property 'subscribe' of undefined at 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) 在 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,但我使用模板中的管道。有没有人遇到同样的问题?

4

1 回答 1

25

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

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

于 2018-05-03T20:13:58.903 回答