Jest:ReferenceError:未定义 uuid

Jest: ReferenceError: uuid is not defined

提问人:Etienne-qwer 提问时间:11/17/2023 更新时间:11/17/2023 访问量:12

问:

当我使用 jest 测试 angularjs 指令时,在指令编译中,我使用 uuid.v4() 为指令生成 id,当我测试此指令时会出现错误,“ReferenceError:uuid 未定义” 如果我在全局范围内需要 uuid 或 jest.mock(“uuid”....),有没有办法消除这个错误?

angularjs jestjs

评论


答:

0赞 Etienne-qwer 11/17/2023 #1

现在,我有一个想法,使用注入到指令中的服务来解决这个问题,在服务中我们可以检测uuid是否可用,如果没有,我们可以使用另一种方法来生成id,然后在开玩笑中,我们可以模拟这个服务,这将解决问题,但我仍然期待其他简单的解决方案

我找到了另一种方法:

const uuid = require('uuid');
Object.defineProperty(globalThis, 'uuid', {
  value: {
    v4: arr => uuid.v4()
  }
});

不要忘记在测试文件夹中npm install uuid