2013-01-22 178 views
3

我正在爲Express.js應用程序編寫測試,我不知道如何在單元測試和集成測試之間進行選擇。單元測試與Express.js應用程序的集成測試

目前我嘗試用:

單元測試 - 使用興農爲短截線/嘲笑/間諜和注入依賴注入到模塊。通過這種方法,我必須存儲MongoDB和其他外部方法。

我想過單元測試單個路由,然後使用集成測試來驗證是否真正調用了正確的路由。

集成測試 - 採用Supertest和SuperAgent的,更少的代碼來寫(無需戲弄/存根的任何東西),但測試環境中應該存在(數據庫,等..)

我用摩卡運行兩種風格的測試。

我應該如何選擇這兩種不同的方法?

回答

1

你可能應該都這樣做。單元測試每個非瑣碎工作的非輔助方法。通過一些集成測試運行整個事情。如果你發現自己不得不做大量的噸和噸的模擬和存根,這可能是一個重構的標誌。

+0

對於做標準數據庫CRUD的路由,你有什麼建議? –

+1

將CRUD分解到某個對象/類/函數中,然後單元測試該對象。然後整合測試你的路線。 –