我正在使用 Mocha 测试 Node.js API。我需要测试一条检查更新是否可用的路线。该路由接受当前安装的版本号,并将其与通过 HTTP 请求检索到的可用版本进行比较。
要获得可用的最新版本,需要调用模型方法。Client.availableVersion()
发出 HTTP 请求,进行一些简单的操作并将可用版本传递给回调函数。相当简单的东西,但现在我想测试我的update()
路线,我需要能够控制Client.availableVersion()
.
阅读了 Mocha 文档和我被提及的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 );
}
})
}
任何朝着正确方向的轻推将不胜感激。