我正在开发一个简单的React应用程序,该应用程序打开一个带有window.open()的新选项卡,用于只读“演示者”视图,其中演示者不再看到控制按钮。它工作得很好,但在我的Jest测试中,当我更新窗口名称时,组件保持渲染。
这是组件:
const AdjustTimerButtonGroup = props => {
if (window.name === 'presenter') {
return null;
}
return(
//rest of button
)
];
这是我目前拥有的测试:
it('does not render if in presenter window', () => {
wrapper = shallow(<AdjustTimerButtonGroup />);
global.window.name = 'presenter';
wrapper.update();
expect(wrapper.type()).toEqual(null);
});
答案 0 :(得分:0)
我相信{j}中global
window
是global.window.name
。当你做window.window.name
时,它基本上就像写global.name
一样。尝试使用window.name
或{{1}}