我正在使用jest + enzyme测试设置。我有一个函数,如果定义了窗口,它会有条件地呈现一些东西。
在我的测试套件中,我试图达到第二种情况,当窗口没有定义,但我不能强迫它。
it('makes something when window is not defined', () => {
window = undefined;
expect(myFunction()).toEqual(thisWhatIWantOnUndefinedWinow);
});
但即使我强制窗口为未定义,它也不会达到预期的情况,窗口始终是窗口(jsdom?)
是不是我的玩笑有问题还是我应该换个方式处理?
3条答案
按热度按时间l7wslrjt1#
我可以使用下面的模式测试
window
未定义的场景。它允许您在同一个文件中使用和不使用window
运行测试。不需要在文件顶部添加@jest-environment node
。huus2vyu2#
下面是我在选定的 jest 测试中强制
window
为undefined所做的事情。窗口测试=未定义
通过在文件顶部添加
@jest-environment node
,可以强制在某些测试文件中未定义窗口。测试窗口-未定义规范js
窗口测试
如果需要
window
对象,只需删除顶部的语句。credit to this answer here
xvw2m8pv3#
把我的工作留给你