Express.js バージョン 2.5.8 (レガシー コードから) を使用しており、スーパーテストを使用してルートの読み込みをテストしようとしています。サーバーの実行中に問題が発生していますが、停止していません。を使用してテストを実行するjasmine-node
と、アサーションが成功したことが示されます。ただし、コンソールには、プロセスがまだ実行中であることが示されます。
var request = require('supertest')
, express = require('express');
describe('Example Test', function() {
var app;
beforeEach(function() {
app = express.createServer();
app.configure(function() {
app.set('port', process.env.PORT || 3000);
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
});
app.get('/', function(req, res){
res.send(200);
});
});
it('index should return 200', function(done) {
request(app)
.get('/')
.expect(200)
.end(function(err, res) {
expect(err).toBe(null);
done();
});
});
});
この例は、express.js 3.xx を使用している可能性が高いものから変更されています。私の仮定では、express サーバーの動作が異なり、リクエストがテスト内で終了したときに閉じられないということです。この問題を修正する方法がわかりません。