我的测试在我的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。
答案 0 :(得分:0)
看起来像以前版本的化合物生成的应用程序的问题。在我生成的测试中更改此行
compound.on('ready', done);
到
compound.on('ready', function() {
done();
});
解决了问题。