如何在 Mocha 中使用 Inversify

How to use Inversify with Mocha

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

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

TypeError: Reflect.hasOwnMetadata is not a function

我以前见过这个,并且得到了另一个 SO 答案的帮助:

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

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

有人以前看过这个吗?

我想我明白了。导入我的整个 inversify.config 没有用,但如果我在单元测试的顶部特别 import "reflect-metadata",那一切都很好。