我正在尝试测试一个根据 window 对象中存在的值返回值的类。window.test = 123;
我想将 window 对象的 test 属性模拟为 123 值以便能够正确测试。
我试过 Object.defineProperty
,改为使用 global ,但似乎没有任何效果。似乎是一个微不足道的问题,但无法在谷歌或其他地方找到答案。请指教。
最佳答案
万一window
存在(即 Jest 与 JSDOM 一起运行,默认情况下完成)它应该是:
beforeEach(() => {
window.test = 123;
});
afterEach(() => {
delete window.test;
});
如果它不存在,它是:
beforeEach(() => {
global.window = { test: 123 };
});
afterEach(() => {
delete global.window;
});
取决于是否
window
在其他地方使用,将其备份到 beforeEach
中的临时变量可能会有所帮助并在 afterEach
中恢复.
关于reactjs - 如何使用 Jest 测试测试窗口对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52703217/