我想在单元测试中模拟window.location.origin
。
我试图直接对其进行编辑。但是它说位置对象是只读的。
我找不到其他方法。您能帮我吗?
e,g
function login(){
if(window.location.origin) {
window.location.href = 'https://stackoverflow.com';
}}
如何测试login()
函数?
答案 0 :(得分:0)
最后,我们找到了一种通过以下代码模拟窗口对象的方法:
windowRedirect(localWindow) {
const windowObj = localWindow || window;
windowObj.location.href = 'https://www.google.com';
}
UT:
it('Test window', (done: DoneFn)=> {
const localWindow = {
location: {
href: 'currentUrl'
}
};
component.windowRedirect(localWindow);
expect(localWindow.location.href = 'https://www.google.com');
done();
});
我认为这仍然是一个临时解决方案。如果您有其他任何想法,请添加您的评论。