我正在使用mocha.js和supertest.js来测试我的json服务器对express.js的请求。这是我进口:node.js摩卡测试请求
request = require('supertest')
assert = require('assert') # Node assert
app = require('../app') # Vanilla express app
这是我在明确应用要求执行:
app.get '/user/:id', (req, res) ->
res.json {}
,这是我的测试:
describe 'GET /user/:id', ->
it 'should return the user data if user found', (done) ->
request(app)
.get("/user/some_id")
.end((err, res) ->
assert.equal('test', 'test')
done()
)
这工作,但如果我改变我要求:
app.get '/user/:id', (req, res) ->
User.findById req.param('id'), (err, doc) ->
res.json {}
摩卡测试只是超时。我猜这与查找是异步的事实有关,测试不会等待它完成。我该如何解决这个问题?
我正在使用mikeal/request并且它不工作= [ – ThomasReggi 2014-01-18 22:26:23
需要'done();'request内部=] – ThomasReggi 2014-01-18 22:27:58