模拟窗口.location.reload with sinon



我正在用sinon为Vue代码的一部分编写测试,该代码使用window.location.reload();执行重新加载。

代码工作正常,但测试失败,出现错误Error: Not implemented: navigation (except hash changes)

如果我删除那行代码,测试就不会崩溃。

如何编写一个能正确运行该行代码的sinon测试?我不确定我是否需要缩短这条线,尽管我不确定如何为一处房产做这件事。

有什么想法吗?

考虑onbeforeunload,它抛出错误并阻止实际页面重新加载,而assert.throws捕获错误。类似这样的东西:

describe("#location.reload", () => {
it("works well", () => {
window.onbeforeunload = () => {
throw new Error();
};
assert.throws(location.reload);
});
});

最新更新