2014-04-02 226 views
1

當前正試圖學習如何爲Express應用程序(而不是集成測試/ PhantomJS)編寫單元測試。單元測試快速應用程序

有沒有辦法分裂路線進入返回以.json數據檢驗的方法,通過實際的呈現:

app.get('/route', function(req, res, next) { 
    res.render('template', { 
    data: data 
    }); 
}); 

一切我都讀,因爲他們設計他們正在測試的JSON輸出他們的應用程序採用REST風格,而大多數初學者教程完全是在服務器上進行模板化/渲染(我認爲這並不壞),並將html返回給客戶端。但是,這是我不明白的部分如何分離和測試。

接下來是學習骨幹,所以應用只是扔JSON,但現在,任何建議或鏈接完成教程

非常感謝。

+0

您是否找到了此問題的答案? – amirouche

回答

0

有幾種方法來處理這個

  • 可以分開,標準的網站或/api/..之間的路線JSON響應
  • 你可以檢測一下請求通過檢查req.acceptsreq.accepts給定什麼接受請求接受並輸出json或者呈現html ..
  • 你可以編寫一個輸出中間件來做上面的檢查,但是中間件之前在中間件堆棧中應該調用next()並且通過req.responseData和ha ndle req.responseData JSON因此,無論是渲染或輸出..

測試我建議這個模塊https://github.com/visionmedia/superagent傳遞accept頭或查詢的網址正確,但JSON輸出將允許您測試您的API,而無需使用HTML解析器解析HTML。如果你想測試如何呈現HTML,請使用cheerio或phantomjs,但我會盡量避免這種情況。

至於骨幹,有很多教程,http://backbonejs.org/是你的出發點。