在MochaJS中,当我导入我的JS文件进行测试时,我一直收到这个错误:
我的js文件采用以下模式编写,我认为这是定义窗口级变量的最佳实践:
根据 如何正确检查全局变量是否存在?:
无论如何,在 js 文件中的任何时候都应该能够引用“window”而不会破坏单元测试。
我不想模拟访问 URL(就像 ZombieJS 教程所假设的那样),也不能让 ZombieJS 或 PhantomJS 创建 window 对象的模拟。
插入:
ReferenceError: window is not defined
我的js文件采用以下模式编写,我认为这是定义窗口级变量的最佳实践:
if (typeof window.myVar === 'undefined') {
window.myVar = ...
}
根据 如何正确检查全局变量是否存在?:
无论如何,在 js 文件中的任何时候都应该能够引用“window”而不会破坏单元测试。
我不想模拟访问 URL(就像 ZombieJS 教程所假设的那样),也不能让 ZombieJS 或 PhantomJS 创建 window 对象的模拟。
插入:
var window = {};
我的单元测试没有效果。
其他相关的帖子,比如在Mocha中定义测试窗口,对我来说完全没有意义。
人们是如何处理这个问题的?