如何在茉莉花单元测试angular6中模拟“ window.location.origin”

时间:2019-04-16 10:25:37

标签: javascript angular unit-testing jasmine

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

我找不到其他方法。您能帮我吗?

e,g

function login(){
if(window.location.origin) {
    window.location.href = 'https://stackoverflow.com';
}}

如何测试login()函数?

1 个答案:

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

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

相关问题