質問タイトルのままです。テストを開始する前にループバックブートスクリプトが終了しているかどうかを確認する方法がわかりました。 は、サンプルプロジェクトでは:ループバックとモカ:サーバがブートスクリプトを終了するのを待ちます。
https://github.com/strongloop/loopback-example-relations
仕事をしているようだが、残念ながら、それはそれを解決しないテストフォルダ内の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();
}
});
動作しますが、私はそのスタート - サーバスクリプトで戸惑いました。
before(function(done) {
require('./start-server')(done);
});
を、実行がelse
支店に行くがdone
が呼び出されることはありません。次のように私はbefore
機能を変更@stalinアドバイス以下
EDIT 。
はあなたに感謝、私は質問を更新しました:アプリケーションは、コールバックが終了するのを明示的にコールバックを呼び出すまで待つ
booting = false
を設定しません。 – Sanandrea