给出ReferenceError的mocha命令:未定义窗口

jit*_*jit 27 mocha.js node.js jsdom

我正在使用命令:

mocha --compilers :./test/babel-setup.js --recursive --watch
Run Code Online (Sandbox Code Playgroud)

这是错误的:

ReferenceError: window is not defined
Run Code Online (Sandbox Code Playgroud)

我的babel-setup.js中有以下内容:

require("babel/register")({
  compact: false
});
Run Code Online (Sandbox Code Playgroud)

我使用节点0.12.7和"mocha":"^ 2.2.5"和"jsdom":"^ 3.1.2".

我已经在项目中安装了jsdom.

是什么导致错误?

emm*_*mby 72

我能够用来jsdom-global解决这个问题.按照该链接中的说明进行安装.具体来说,运行

npm install --save-dev --save-exact jsdom jsdom-global
Run Code Online (Sandbox Code Playgroud)

然后添加-r jsdom-global/register到您的mocha命令行.当您重新运行测试时,window is not defined错误将消失.

  • 应该标记为答案,像魅力一样,谢谢:) (5认同)

小智 2

要使用 mocha 测试前端库,您需要节点模块mocha-jsdom,您可以在这里找到它: https: //www.npmjs.com/package/mocha-jsdom