使用BusterJS,ExpressJS和SuperTest的问题

我有一些使用ExpressJS + BusterJS + SuperTesttesting路由的问题。

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); }); }); }); 

当我运行这个testing时,我得到:

 Failure: V2 API - group/get is accessible No assertions! 1 test, 0 assertions, 1 runtime ... 1 failure Express server listening on port 3000 

这似乎是错误的,因为我其实有一个断言。 问题是,除非出现错误,否则不会被调用。

另一个问题是,如果我有多个“如果”块,服务器之间不重新启动。 我可能会使用节点+ express + buster + supertest stack错误,所以如何testing这些路由的任何帮助将不胜感激。

我有一些代码没有你的问题; 它几乎和你的一样,但是使用asynchronoustesting,例如

 it("is accessable", function(done) { request(server) .get('/') .expect(200) .end(function(err, res){ server.close(); expect(err).toBe(null); done(); }); }); 

我对巴斯特知之甚less,不知道这是否是解决这个问题的“正确方法”,但希望它有所帮助!