gpt4 book ai didi

reactjs - 引用错误 : crypto is not defined

转载 作者:行者123 更新时间:2023-12-05 07:02:42 25 4
gpt4 key购买 nike

我正在测试我的 React 应用程序,当它运行一个执行 Web Cryptography API 的测试时,特别是 await crypto.subtle.generateKey 我收到以下错误消息

ReferenceError: crypto is not defined

似乎 React Testing Library 没有访问该库的权限,这是有道理的,因为这是浏览器原生的 API,而 React Testing Library 模拟了一个库。

如何添加库以便测试通过?遵循 TDD 原则,我不应该为了通过测试而修改代码。

最佳答案

正如@Jayce44 所建议的那样,您可以只向窗口对象添加一个模拟。无论如何,删除测试中的任何随机组件都是一个很好的模式(尤其是在 TDD 中)。定义一个假/模拟加密模块,在其中根据测试用例定义它的输出对于编写可靠的测试用例有很多好处。根据您使用的框架,它可能看起来像:

beforeEach(() => {
setupCryptoWithExpectedValue(42)
});

test(() => {
productionCodeUsingCrypto()
}

关于reactjs - 引用错误 : crypto is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63464841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com