在MochaJS中,我在导入我的JS文件进行测试时一直收到此错误:
ReferenceError: window is not defined
我的js文件是用以下模式编写的,我认为这是定义窗口级变量的最佳实践:
if (typeof window.myVar === 'undefined') {
window.myVar = ...
}
根据: What is the correct way to check if a global variable exists?
无论如何,一个人应该能够在js文件中的任何一点引用'window'而不破坏单元测试似乎是合理的。
我不想模拟转到URL(如zombieJS教程似乎假设的那样),也不能让zombieJS或phantomJS创建窗口对象的模拟。
插入
var window = {};
进入我的单元测试没有效果。
其他似乎与此相关的帖子,例如Defining Window for Testing in Mocha对我来说毫无意义。
人们如何处理这个问题?