如何模拟window.document来测试以DOM为中心的JavaScript?

4 javascript testing dom unit-testing

我正在尝试编写一些调用window.document的测试,我想自己模拟实际的调用,所以我可以无头地运行它们.不能使用以下代码:

window = {"document": ""};
document = window.document;
document.cookie = "";
document.location = {"hostname": "test.myserver.com"}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

TypeError: Cannot set property window that has only a getter. in file:...
Run Code Online (Sandbox Code Playgroud)

有谁知道如何嘲笑这个?

我正在使用Jasmine和jasmine-maven-plugin,如果这有任何区别的话.

Amn*_*non 6

如果必须在浏览器中运行代码,则可以将整个代码包装在with语句中:

with ({window: {}}) {
     ...
}
Run Code Online (Sandbox Code Playgroud)