早午餐,JSDom:对象[jsdom节点列表]:包含3个项目没有方法"映射"



我正在尝试使用Ember、Brunch和JSDom进行无头测试。我正在使用ember早午餐骨架来生成应用程序。

https://github.com/fuseelements/ember-brunch-skeleton

我已经安装了所有的依赖项。

当我尝试运行"早午餐测试"时,我得到了以下错误。我似乎缺少了一些基本的东西,但这是我第一次使用node.js/jsdom/mocha等。我缺少了什么?

  TypeError: Object [ jsdom NodeList ]: contains 3 items has no method 'map'
  at getScriptFilesPath (/usr/local/lib/node_modules/brunch/lib/commands/test.js:62:60)
  at readTestFiles (/usr/local/lib/node_modules/brunch/lib/commands/test.js:80:25)
  at fs.readFile (fs.js:176:14)
  at fs.close     (/usr/local/lib/node_modules/brunch/node_modules/rimraf/node_modules/graceful-fs/graceful-fs.js:90:5)
  at Object.oncomplete (fs.js:297:15)

这似乎与0.4.0版本的jsdom有关。具体来自变更日志:

  • 更改:NodeList不再具有不一致的数组方法。以前,活动节点列表将具有indexOf,而静态节点列表将拥有所有索引。现在,它们根本没有数组方法,根据规范,这是正确的

如果你正在寻找一个快速的解决方案,那么恢复到jsdom 0.3.4就可以了:

npm uninstall jsdom
npm install jsdom@0.3.4
brunch test

我可以通过卸载brunch并重新安装它来解决这个问题
似乎npm使用的是旧的安装版本。

试试看:

npm uninstall brunch -g
npm install brunch -g
npm test
brunch --version # should be 1.5.3

相关内容

  • 没有找到相关文章

最新更新