gpt4 book ai didi

reactjs - Jest.js 强制窗口未定义

转载 作者:行者123 更新时间:2023-12-03 13:25:04 24 4
gpt4 key购买 nike

我正在使用 Jest + enzyme 设置进行测试。如果定义了窗口,我有一个有条件地渲染某些内容的函数。

在我的测试套件中,我试图达到第二种情况,即未定义窗口,但我无法强制它。

    it('makes something when window is not defined', () => {       window = undefined;       expect(myFunction()).toEqual(thisWhatIWantOnUndefinedWinow);    });

但即使我强制窗口未定义,它也达不到预期的情况,窗口始终是窗口(jsdom?)

这是我的 Jest 设置的问题还是我应该以其他方式处理这个问题?

最佳答案

我可以使用以下模式测试 window 未定义的场景。它允许您在同一文件中运行带或不带window 的测试。不需要在文件顶部添加 @jest-environment 节点

describe('when window is undefined', () => {
const { window } = global;
beforeAll(() => {
// @ts-ignore
delete global.window;
});
afterAll(() => {
global.window = window;
});

it('runs without error', () => {
...
});
});

关于reactjs - Jest.js 强制窗口未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51425746/

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