当我使用jest测试一个angularjs指令时,在指令编译中,我使用uuid.v4()来生成指令的id,当我测试这个指令时,会有一个错误,“ReferenceError:uuid is not defined”事件,如果我需要全局范围内的uuid或jest.mock(“uuid”....),有没有办法消除这个错误?
vkc1a9a21#
现在,我有一个想法来解决这个问题,使用注入到指令中的服务,在服务中我们可以检测是否有uuid,如果没有,我们可以使用另一种方法来生成id,然后在开玩笑的时候,我们可以模拟这个服务,这将解决这个问题,但我仍然期待其他简单的解决方案我找到了另一种方法:
const uuid = require('uuid'); Object.defineProperty(globalThis, 'uuid', { value: { v4: arr => uuid.v4() } });
字符串不要忘记在测试文件夹中添加npm install uuid
npm install uuid
1条答案
按热度按时间vkc1a9a21#
现在,我有一个想法来解决这个问题,使用注入到指令中的服务,在服务中我们可以检测是否有uuid,如果没有,我们可以使用另一种方法来生成id,然后在开玩笑的时候,我们可以模拟这个服务,这将解决这个问题,但我仍然期待其他简单的解决方案
我找到了另一种方法:
字符串
不要忘记在测试文件夹中添加
npm install uuid