角单元测试中的模拟管道破坏了ng-xi18n命令

时间:2018-09-27 04:49:11

标签: angular jasmine ngx-translate

我有一个模拟管道代替ngx-translate管道进行单元测试:

@Pipe({ name: 'translate' })
export class MockTranslatePipe implements PipeTransform {
    transform(value: string): string {
        //Do stuff here, if you want
        return value;
    }
}

它在文件“ translate.service.mock.ts”中。我的tsconfig.app.json已排除此文件:

"exclude": [
        "test.ts",
        "**/*.mock.ts",
        "**/*.spec.ts",
       "test/*.ts"
    ]

但是,当我运行ng-xi18n --i18nFormat = xlf2 --outFile =。/ assets / i18n / messages.xlf时,它仍然抱怨:

  

无法确定类MockTranslatePipe中的模块   src / test / translate.service.mock.ts!将MockTranslatePipe添加到   NgModule对其进行修复。

如何解决这个问题?谢谢。 (已编辑)

1 个答案:

答案 0 :(得分:0)

我找到了解决方法,问题在于导出那个Pipe。只要不导出,ng-xi18n就不会抱怨。但这意味着无法在文件之间共享该模拟管道。

@Pipe({ name: 'translate' })
class MockTranslatePipe implements PipeTransform {
    transform(value: string): string {
        //Do stuff here, if you want
        return value;
    }
}