1

我们使用inversify来注册和使用某些服务。

只有当我从 Jest 20 升级到 22 时,我在一些测试中突然出现这个错误:

在 MyService 中缺少必需的 @injectable 注释。

下面有一行代码指向,与该错误没有任何关系。

我已经检查了发行说明以找出发生了什么变化,但没有。

这里可能是什么问题?为什么在执行应用程序时不会出现错误,而只是在使用 Jest 22 的测试中?我该如何调查?

4

1 回答 1

1

这是我目前的项目:

decorate(injectable(), ClassName);
jest.mock('../../../api/shared/ClassName');

在使用 jest.mock() 之前,从 inversify 包中导入 decorate 方法来手动装饰你的类。

于 2020-01-09T10:14:10.270 回答