私は複数のテストファイルを持っています。各ファイルには、before
とafter
の機能があり、サーバーの起動、シャットダウン、dbクリーニングの各作業を行います。サンプルテストファイルのテストファイルを順番に実行しますか?
構造:サーバは、各before
通話中に同じポートで起動されているため、これらのファイルをまとめて実行されたとき
describe('some test:', function() {
before('reset db; start server', start_server)
after('close server', close_server)
// some tests
describe('#clear_expired_signals:', clear_expired_signals)
describe('#delete_signal ', delete_signal)
}
私はEADDRINUSE
例外倍の大半を取得しています。
mochajsに一度に1つのファイルを強制的に実行させることはできますか(ファイルの順序は関係ありません)?
編集:機能のサンプルの前に
function start_server(done) {
intialize_server.start().then(function(options) {
seneca = options.seneca;
seneca.client({
host: 'localhost',
port:options.port,
});
done();
}
}
function intialize_server(){
return new Promise(function (resolve, reject) {
seneca.ready(function() {
seneca.listen({
host: 'localhost',
port: custom_port,
});
resolve({
seneca: seneca,
port: custom_port
});
// console.log('test server listening')
});
});
}
機能のサンプル
function close_server(done) {
console.log('closing seneca instance');
seneca.close(done);
}
非同期(実行前、実行後、テスト自体)のコードはありますか? – Bergi
'it'関数に渡しましたか? – randominstanceOfLivingThing
'done'コールバックを' after'に渡して、次のテストを実行する前にmochaがサーバーを閉じるのを待たせてください。 – slebetman