Jest:ReferenceError:未定义uuid

arknldoa  于 5个月前  发布在  Jest
关注(0)|答案(1)|浏览(61)

当我使用jest测试一个angularjs指令时,在指令编译中,我使用uuid.v4()来生成指令的id,当我测试这个指令时,会有一个错误,“ReferenceError:uuid is not defined”事件,如果我需要全局范围内的uuid或jest.mock(“uuid”....),有没有办法消除这个错误?

vkc1a9a2

vkc1a9a21#

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

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

字符串
不要忘记在测试文件夹中添加npm install uuid

相关问题