我正在使用以下代码来确定页面是否已加载到iFrame中。
export default function isIFrame () {
return window !== window.parent;
}
这很好,可以返回期望值。
我现在正在研究为其编写单元测试,我认为这只是模拟window
和window.parent
并为它们赋予不同值的情况,类似...
it('should return false if page is not being loaded within an iframe', () => {
window = {
somekey: 'somevalue'
};
window.parent = {
somekey: 'someothervalue'
};
const hasPageBeenLoadedInsideIframe = isIFrame();
expect(hasPageBeenLoadedInsideIframe).toEqual(false);
});
首先有两个问题,这是我应该编写的正确的单元测试吗?
第二,如果是的话,我应该在window
和window.parent
之间更改什么值?实际有什么不同?
我尝试使用Chrome开发工具(使用copy($0)
命令)将它们都复制并进行差异检查,但我无法正常工作,它只能输出[object Window]
。
有人可以帮助吗?