摩卡 - 发送json到post express route

时间:2014-02-28 06:18:27

标签: json node.js post express mocha

我正在尝试在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.bodyundefined。下面我展示了我的路线回调片段

  @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。我很清楚测试通过并且它做了它应该做的事情,但在我继续编写更多测试之前,我必须知道如何发送一些数据。

1 个答案:

答案 0 :(得分:0)

你错过了一个正文解析器,在你的代码中添加了app.use(express.json())