我正在尝试在生产环境中编译我的 Angular 应用程序,但我收到了这个错误:
Cannot determine the module for class TranslateMockPipe in /src/testing/translate.service.spec.ts! Add TranslateMockPipe to the NgModule to fix it.
这个 TranslateMockPipe
类是我声明的一个通用类,我在所有测试文件中都使用它以避免在所有测试用例中重复相同的代码行
类的代码:
@Pipe({ name: "translate" })
class TranslateMockPipe {
transform = (ss) => ss
}
我在我的测试中使用它是这样的:
TestBed.configureTestingModule({
declarations: [
DemoComponent,
TranslateMockPipe
]
})
如果我运行项目一切顺利,并且我的测试通过没有问题但是当我尝试为生产编译时失败
我如何才能忽略这种用于生产构建的假类?
最佳答案
你可以在这个 ticket 上阅读它但最简单的方法应该是:
添加您拥有测试实用程序的路径,例如“./app/shared/tests/”并在您的 tsconfig.json 中添加:
"exclude": [ "./app/shared/tests/*.ts" ]
或
- 创建一个模块,该模块不会导入到除 Testbed 模块之外的任何其他模块,将其用于测试目的,并包括模拟、 stub 等...
关于angular - 如何在 Angular 6 的生产构建中忽略规范文件和模拟文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53547657/