在 MochaJS 中,导入我的 JS 文件进行测试时,我不断收到此错误:
ReferenceError: window is not defined
我的 js 文件是用以下模式编写的,我认为这是定义窗口级别变量的最佳实践:
if (typeof window.myVar === 'undefined') {
window.myVar = ...
}
无论如何,在不破坏单元测试的情况下,应该能够在 js 文件中的任何位置引用“窗口”似乎是合理的。
我不想模拟去一个 URL(就像zombieJS 教程似乎假设的那样),我也不能让zombieJS 或 phantomJS 来创建窗口对象的模拟。
插入
var window = {};
进入我的单元测试没有效果。
其他似乎处理这个问题的帖子,例如在 Mocha 中定义测试窗口对我来说完全没有意义。
人们如何处理这个问题?