我在我的TypeScript Node.js应用程序中使用Inversify进行依赖注入。这在实际运行应用程序时效果很好。
但是,@injectable()
注释似乎削弱了我的测试。运行测试时,我现在收到一个错误,说:
TypeError: Reflect.hasOwnMetadata is not a function
我以前见过这个,并得到了另一个 SO 答案的帮助:https://stackoverflow.com/a/43115660/4003671
但是,导入inversify.config
并不能解决我的测试中的问题。如果我从要测试的类中删除@injectable()
注释,则测试将运行。
我的测试中实际上不需要 DI,因此以某种方式禁用它将是一个可接受的解决方案。
以前有人见过吗?
认为我已经知道了。导入我的整个inversify.config
不起作用,但是如果我专门import "reflect-metadata"
在我的单元测试的顶部,那都是花花公子。