gpt4 book ai didi

javascript - 如何在使用 Enzyme、Jest + Create React App 的测试中获取窗口值

转载 作者:行者123 更新时间:2023-11-29 23:07:02 25 4
gpt4 key购买 nike

由于我用来推出我的应用程序的构建过程,我在构建后将一些环境变量传递到一个文件中,这工作正常。但是它破坏了我的测试并显示以下错误消息:

TypeError: Cannot read property 'DATA' of undefined

57 | Auth: {
58 | oth,
> 59 |
| ^
60 |
61 | identity: checkEnv(window.env.DATA,
62 | process.env.REACT_APP_DATA),

我已经尝试了很多解决方案,但仍无法模拟 window.env 数据,我该怎么做?

最佳答案

Create React App 让您能够 initialize the test environment通过包含 src/setupTests.js “将在运行测试之前自动执行”的文件。

Create React App 还使用 jsdom 设置了测试环境,它提供了全局 window 对象。

您可以在 src/setupTests.js 中设置 window.env ,它将在您的测试期间可用:

src/setupTests.js

window.env = {
DATA: 'hi'
}

src/code.js

export const getData = () => window.env.DATA

src/code.test.js

import { getData } from './code';

test('env', () => {
expect(getData()).toBe('hi'); // SUCCESS
})

关于javascript - 如何在使用 Enzyme、Jest + Create React App 的测试中获取窗口值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54544913/

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