1

我的测试在我的 OS X 环境中运行良好,但是当我在我的 ubuntu (EC2) 服务器上运行它们时,测试失败并显示:

✖ 1 of 40 tests failed:
1) AccountController "before each" hook:
 Error: done() invoked with non-Error: [object Object]
  at CompoundServer.<anonymous> (/usr/lib/node_modules/mocha/lib/runnable.js:198:38)
  at CompoundServer.EventEmitter.emit (events.js:95:17)
  at CompoundServer.initCompound (/home/ubuntu/TeamCity/buildAgent/work/1d2dd0b199edbe3f/node_modules/compound/lib/compound.js:133:14)
  at CompoundServer.initCompoundServer [as init] (/home/ubuntu/TeamCity/buildAgent/work/1d2dd0b199edbe3f/node_modules/compound/lib/server/compound.js:53:29)
  at /home/ubuntu/TeamCity/buildAgent/work/1d2dd0b199edbe3f/node_modules/compound/lib/compound.js:62:18
  at process._tickCallback (node.js:415:13)

我正在做的就是运行 mocha test/*. 这可能是由 Compoundjs 或 node.js 的差异引起的吗?在我工作的mac上,我在v0.8.22上,在ubuntu服务器上它是v0.10.5。同样,ubuntu 上的复合版本是 1.1.7-1,而在 mac(工作)上是 1.1.6。

4

1 回答 1

0

看起来像以前版本的化合物生成的应用程序存在问题。在我生成的测试中更改此行

compound.on('ready', done);

compound.on('ready', function() {
      done();
  });

修复了问题。

于 2013-05-20T13:27:05.113 回答