0

我在我的 TypeScript Node.js 应用程序中使用 Inversify 进行依赖注入。这在实际运行应用程序时效果很好。

但是,@injectable()注释似乎削弱了我的测试。运行测试时,我现在收到一条错误消息:

TypeError: Reflect.hasOwnMetadata is not a function

我以前见过这个,并得到了另一个 SO 答案的帮助:https ://stackoverflow.com/a/43115660/4003671

但是,导入inversify.config并不能解决我的测试中的问题。如果我@injectable()从我正在测试的类中删除注释,那么测试就会运行。

我的测试中实际上不需要 DI,因此以某种方式禁用它是一个可以接受的解决方案。

有没有人见过这个?

4

1 回答 1

1

想我已经明白了。导入我的整个inversify.config文件不起作用,但如果我专门import "reflect-metadata"在单元测试的顶部,这一切都是花花公子。

于 2017-06-20T06:40:55.553 回答