代码之家  ›  专栏  ›  技术社区  ›  user762579

window.location.assign()未在jest jsdom中实现

  •  0
  • user762579  · 技术社区  · 6 年前

    我有这个功能

     window.location.assign(url)
    

    在jsdom中不存在…所以在我的测试中出现了一个错误

    有人提到了中断这个功能的可能性(使用sinon) see jsdom issue

     sinon.stub(window.location, 'assign');
     expect(window.location.assign).to.have.been.calledWith(url);
    

    我怎样才能用笑话复制它呢?(因为它不存在,我不能用间谍……必须被嘲笑)

    谢谢你的反馈

    1 回复  |  直到 6 年前
        1
  •  1
  •   Yury Tarabanko    6 年前

    您可以提供自定义实现

    jest.spyOn(window.location, 'assign').mockImplementation(url => console.log(url))