0

我正在尝试在我的项目中运行 Jest 测试并且我有节点 v0.12.0 ,所以运行 Jest 测试会给我以下错误:

/Users/ajaybeniwal203/ODeskWork/ui-components/node_modules/jest-cli/node_modules/harmonize/harmonize.js:31 node.stdout.pipe(process.stdout);

TypeError:无法读取 module.exports 处未定义的属性“管道”(/Users/ajaybeniwal203/ODeskWork/ui-components/node_modules/jest-cli/node_modules/harmonize/harmonize.js:31:20

Object.<anonymous>( /Users/ajaybeniwal203/ODeskWork/ui-components/node_modules/jest-cli/bin/jest.js:39:1 ) 在 Module._compile (module.js:460:26)

在 Object.Module._extensions..js (module.js:478:10)

在 Module.load (module.js:355:32)

在 Function.Module._load (module.js:310:12)

在 Function.Module.runMain (module.js:501:10)

启动时 (node.js:129:16)

在 node.js:814:3 npm 错误!测试失败。

有关更多详细信息,请参见上文。

我该如何解决这个问题?

4

2 回答 2

1

这是已知问题

它是众所周知的,主要与 JSDOM + contextify 有关。

尝试改用 node 0.10,nvm或适用于 windows 的类似替代品应该会有所帮助。

于 2015-04-26T07:51:20.660 回答
1

很酷的问题。这是因为 Jest 不支持 Node v0.12

不幸的是,到目前为止还没有办法解决这个问题(开玩笑 v0.4.x);但是,这是解决方法:使用 v0.10

尝试使用 nvm 为您的开发环境切换节点版本:

切换到以前的版本

nvm use 0.10

重建依赖关系

npm rebuild

在以前的版本上运行测试

npm test

仅供参考,如果您使用 Node,下一个版本的 Jest (v0.5) 将不支持;如果你使用 io.js,继续就好了。

我从 v0.1 开始使用 Jest,很抱歉我对它没有信心了。那我就换摩卡了。

高温高压

于 2015-07-22T00:29:06.417 回答