2

我正在尝试使用 Ember、Brunch 和 JSDom 进行无头测试。我正在使用 ember-brunch-skeleton 生成应用程序。

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)
4

2 回答 2

2

看起来这与 jsdom 的 0.4.0 版本不同。具体来自变更日志

  • 更改:NodeLists 不再不一致地具有数组方法。以前,活动节点列表将具有 indexOf,而静态节点列表将具有它们全部。现在,它们根本没有数组方法,按照规范是正确的。

如果您正在寻找快速修复,恢复到 jsdom 0.3.4 应该可以解决问题:

npm uninstall jsdom
npm install jsdom@0.3.4
brunch test
于 2013-02-15T19:37:35.670 回答
1

I could solve this by uninstalling brunch and installing it again.
It seemed npm was using a old installed version.

Just try:

npm uninstall brunch -g
npm install brunch -g
npm test

brunch --version # should be 1.5.3
于 2013-02-11T01:22:42.667 回答