Javascript “如何嘲笑”;窗口.位置.原点“;jasmine单元测试中的angular6

Javascript “如何嘲笑”;窗口.位置.原点“;jasmine单元测试中的angular6,javascript,angular,unit-testing,jasmine,Javascript,Angular,Unit Testing,Jasmine,我想在单元测试中模拟window.location.origin。 我试着直接编辑它。但是它说location对象是只读的 我找不到别的路了。你能帮我吗 e、 g 如何测试login()函数?最后,我们通过以下代码找到了模拟窗口对象的方法: windowRedirect(localWindow) { const windowObj = localWindow || window; windowObj.location.href = 'https://www.google.

我想在单元测试中模拟
window.location.origin
。 我试着直接编辑它。但是它说location对象是只读的

我找不到别的路了。你能帮我吗

e、 g


如何测试
login()
函数?

最后,我们通过以下代码找到了模拟窗口对象的方法:

    windowRedirect(localWindow) {
    const windowObj = localWindow || window;
    windowObj.location.href = 'https://www.google.com';
    }
UT:


我认为这仍然是一个暂时的解决办法。如果您有任何其他想法,请添加您的评论。

最后,我们通过以下代码找到了模拟窗口对象的方法:

    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();
   });