环回和摩卡:等待服务器完成启动脚本
嗨作为问题标题我想知道如何能够检查是否回环启动脚本已推出测试之前完成。在一个示例项目:
存在这样似乎做的工作,但遗憾的是它并没有解决它的测试文件夹file。
start-server.js:
var app = require('../server/server');
module.exports = function(done) {
if (app.loaded) {
app.once('started', done);
app.start();
} else {
app.once('loaded', function() {
app.once('started', done);
app.start();
});
}
};
这个脚本在rest test api加载如下:
before(function(done) {
require('./start-server');
done();
});
但功能则永远不会调用。这是正确的方式,它是为了使用该脚本?
我用下面的执行结束:
before(function (done) {
if (app.booting) {
console.log('Waiting for app boot...');
app.on('booted', done);
} else {
done();
}
});
它的工作原理,但我通过启动服务器脚本不解。
编辑继@stalin建议我修改了before
功能如下:
before(function(done) {
require('./start-server')(done);
});
和执行云在else
分支,但done
永远不会被调用。
你永远传递完成功能的start-server
脚本。试着这样做:
before(function(done) {
var server = require('./start-server');
server(done);
});