我正在尝试在mocha测试中将一些json数据发送到'/sign_up'
路由。
request = require 'supertest'
express = require 'express'
app = express()
Authentication = require("#{specDir}/../apps/authentication/routes")
authenticate = new Authentication app
Factory = require "#{specDir}/factories/user"
user = Factory.build 'user'
it 'creates an account', (done) ->
request(app).post('/sign_up').set('Accept', 'application/json').send(user).end (err, res) ->
expect(res.statusCode).to.equal 200
done()
然而,回调函数中的req.body
为undefined
。下面我展示了我的路线回调片段
@app.post '/sign_up', (req, res) ->
res.format
html: -> res.status(406).send 'invalid Content-Type'
json: ->
console.log req.body
res.status(200).send status: 'ok'
可能我错过了一些小细节,但看不出有什么想法?
P.S。我很清楚测试通过并且它做了它应该做的事情,但在我继续编写更多测试之前,我必须知道如何发送一些数据。
答案 0 :(得分:0)
你错过了一个正文解析器,在你的代码中添加了app.use(express.json())
。