require('promise-mysql')
npmパッケージのsinonを使用してNodeJSでpromisifiedクエリを模擬することは可能ですか? Sinonが私たちにオブジェクトのメソッドをモックしたりスタブしたりすることを許可しているので。データベースの設定が正しいかどうかに関係なく、有効なオブジェクトを返すようにcreateConnection()メソッドをオーバーライドしたいとします。私はそのメソッドをスタブします。私はコールバックを持っているrequire('mysql')
npmパッケージを使ってそれを嘲笑することができます。単体テストのためにsinonを使用してpromisified Mysqlデータを模擬する方法
しかし、require('promise-mysql')
パッケージが約束を返すように、私は同じようにテストデータを模擬する方法についてはわかりません。これはどのように我々はリターンがあなたのnodejs
バージョン場合
var successConnectionObject = {
connect: function() {
return Promise.resolve()
},
query: function(sqlQury) {
if (sqlQury === 'SELECT * FROM USERS') {
return Promise.resolve(constants.USERQueryResp);
} else {
return Promise.resolve(';')
}
},
end: {function() {}
}
値としてあなたがPromise.resolve
とPromise.reject
を使用することができますrequire('promise-mysql');