私はそれを行う方法を見つけましたが、私の直感では、もっと慣用的な方法があるはずです. 基本的に私が気に入らないのは、テスト スイートで高速アプリを要求する必要があることです。これにより、競合状態が発生しているかどうか疑問に思います。また、このように複数のファイルで複数のテストスイートを実行するとどうなるのだろうか。
誰もがよりクリーンなソリューションを知っていますか?
私の簡略化されたアプリは次のとおりです。
app.js
app = module.exports = express()
...
http.createServer(app).listen(app.get('port'), function(){
console.log('app listening');
});
test.js
var request = require('superagent');
var assert = require('assert');
var app = require('../app');
var port = app.get('port');
var rootUrl = 'localhost:'+port;
describe('API tests', function(){
describe('/ (root url)', function(){
it('should return a 200 statuscode', function(done){
request.get(rootUrl).end(function(res){
assert.equal(200, res.status);
done();
});
});
...