1
我正在使用Mocha來測試Node.js API。我需要測試一個檢查更新是否可用的路由。該路由接受當前安裝的版本號,並將其與通過HTTP請求檢索的可用版本進行比較。間諜,存根或模擬?或以上都不是?
要獲取最新版本,請調用模型方法。 Client.availableVersion()
發出HTTP請求,進行一些簡單的操作並將可用版本傳遞給回調函數。相當簡單的東西,但現在我想測試我的update()
路線,我需要能夠控制Client.availableVersion()
返回的內容。
在閱讀了摩卡文檔和Sinon文檔後,我被提到了......我被卡住了。聽起來Sinon會處理我需要的東西,但實施讓我有點困惑。
下面是從我的路由方法的代碼段:
update: function(req, res, next) {
var installedVersion = req.params.version;
client.availableVersion(function(err, availableVersion) {
if(!err) {
if(parseInt(installedVersion, 10) < parseInt(availableVersion, 10)) {
// SEND UPDATE AVAILABLE RESPONSE
}
// SEND NO UPDATE AVAILABLE RESPONSE
}
else {
res.send(500, err);
}
})
}
在正確的方向輕推任意將不勝感激。
感謝。這似乎正是我所需要做的。 –