当使用 Jest 运行单元测试时,window.crypto API 会导致问题。我还没有找到一种在不安装其他软件包的情况下将加密合并到 Jest 中的方法,这是我无法做到的。因此,如果不使用另一个 npm 包,是否有一种方法可以测试其中使用的函数:crypto.getRandomValues()
不会使 Jest 崩溃?感谢任何链接、建议或提示
最佳答案
这应该这样做。使用以下代码全局设置 crypto
属性。这将允许 Jest 访问 window.crypto
并且不会导致任何问题。
const crypto = require('crypto');
Object.defineProperty(global.self, 'crypto', {
value: {
getRandomValues: arr => crypto.randomBytes(arr.length)
}
});
关于javascript - 如何使用 Jest 测试使用 crypto 或 window.msCrypto 的函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52612122/