0
我試圖用sinon/mocha單元測試這個函數,它使用request-promise
。我附上.promise()
以允許訪問所有藍鳥承諾方法。單元測試請求promise,promise()不是函數
按照request-promise
自述:
rp(...).promise() or e.g. rp.head(...).promise() which returns the underlying promise so you can access the full Bluebird API
myModule.js 變種requestPromise =要求( '請求承諾');
function requestWrapper(opts) {
// Adds .promise() to allow access to Bluebird methods
return requestPromise(opts).promise();
}
module.exports = requestWrapper;
單元測試
var Promise = require('bluebird');
var requestPromise = sinon.stub().returns(Promise.resolve());
var rewire = require('rewire');
var myModule = rewire('./myModule');
myModule.__set__({
requestPromise: requestPromise
});
describe('myModule', function() {
var testPromise;
it('should...', function() {
testPromise = myModule.requestWrapper({ method: 'GET', url: 'http://someurl.com' })
});
});
錯誤
,我發現了以下錯誤:TypeError: requestPromise(...).promise is not a function
。