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 );
}
})
}
正しい方向に微調整していただければ幸いです。