ExpressJS + BusterJS + SuperTest を使用したルートのテストで問題が発生しています。
var app = require("../../app/app.js"),
buster = require("buster"),
expect = buster.referee.expect,
http = require('http'),
request = require('supertest');
buster.spec.expose();
describe("V2 API - group/get", function () {
var server;
beforeEach(function() {
server = http.createServer(app).listen(app.get('port'), function () {
console.log('Express server listening on port ' + app.get('port'));
});
});
it("is accessable", function() {
request(server)
.get('/')
.expect(200)
.end(function(err, res){
server.close();
expect(err).toBe(null);
});
});
});
このテストを実行すると、次のようになります。
Failure: V2 API - group/get is accessible
No assertions!
1 test, 0 assertions, 1 runtime ... 1 failure
Express server listening on port 3000
私は実際に主張を持っているので、これは間違っているようです。問題は、エラーが発生しない限り呼び出されないことです。
もう 1 つの問題は、複数の 'if' ブロックがある場合、それらの間でサーバーが再起動しないことです。node + express + buster + supertest スタックを間違って使用している可能性があるため、これらのルートをテストする方法についての助けをいただければ幸いです。