我有一组正在编译并运行浏览器窗口的类型记录文件。
然后,我想用类型记录编写一组测试,这些测试将在Node环境中运行,这将需要模拟出任何窗口API。
我找不到一种干净的方法用打字本来做这件事,结果常常是
无法找到名称“位置”。
我试图定义位置,但仍然没有joy,因为我声明了接口,而不是一个实例(我想在每个测试中进行存根)。
“位置”仅指一种类型,但在这里用作值。 6 if (location.origin === )
对于如何做到这一点,有什么想法吗?
发布于 2018-03-26 23:32:43
尝试在代码中使用window.location,而不是只使用location。类型记录包括一个库(dom),它具有window对象实现的类型window。
从lib.dom.d.ts文件中摘录的小片段:
interface Window extends EventTarget, WindowTimers, WindowSessionStorage, WindowLocalStorage, WindowConsole, GlobalEventHandlers, IDBEnvironment, WindowBase64, GlobalFetch {
...
readonly location: Location;
...
}在此之后,我假设您只需模拟window对象即可。
https://stackoverflow.com/questions/49500586
复制相似问题