javascript - Mocha JS 'Window Is Undefined'

标签 javascript unit-testing window mocha.js

在 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对我来说完全没有意义。

人们如何处理这个问题?

最佳答案

我想通了!

基本上它涉及将任何根对象作为“this”传递给正在接受单元测试的函数。

我写了更多comprehensive blog post在上面。

关于javascript - Mocha JS 'Window Is Undefined',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19389265/

相关文章:

javascript - 在 React 组件上公开方法

java - JUnit 测试 : Why is Maven (Surefire) so much slower than running on Eclipse?

c# - 如何访问另一个程序集中的类以进行单元测试?

unit-testing - 我们如何命名要检查多个条件的测试方法?

jquery - 使用js或jquery关闭浏览器选项卡

javascript - 如何使用 hello.js 获取用户电子邮件 ID?

javascript - 如何在发送 ExtJS 之前更改 JSON 对象

Javascript for循环等待回调

emacs - 如何防止 Emacs 调整窗口大小?

python - PySpark:将不同的窗口大小应用于 pyspark 中的数据帧