2014-02-28 29 views
0

我想在摩卡測試中發送一些json數據到我的'/sign_up'路由。摩卡 - 發送json以發佈快速路由

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.我很清楚測試通過了,它完成了它的任務,但在繼續編寫更多測試之前,我必須知道如何發送一些數據。

回答

0

你錯過了一個身體解析器,在你的代碼的某處添加了app.use(express.json())