目前,我正在为我的项目实施单元测试,并且包含一个文件window.location.href
。
我想对此进行测试,这是我的示例代码:
it("method A should work correctly", () => {
const url = "http://dummy.com";
Object.defineProperty(window.location, "href", {
value: url,
writable: true
});
const data = {
id: "123",
name: null
};
window.location.href = url;
wrapper.vm.methodA(data);
expect(window.location.href).toEqual(url);
});
但是我得到这个错误:
TypeError: Cannot redefine property: href
at Function.defineProperty (<anonymous>)
我尝试了一些解决方案,但没有解决。我需要一些提示来帮助我摆脱困境。请帮助。
最好的可能是创建一个新的
URL
实例,以便它分析你的字符串一样location.href
做,所以它更新的所有属性location
一样.hash
,.search
,.protocol
等。https://repl.it/repls/VoluminousHauntingFunctions