sinon、jasmine、および $q を使用してメソッドをスタブしようとしています。そのメソッドが私の偽のデータを返すことを望みます。
問題は、定義されたthen
ステートメントが呼び出されないことであり、その理由がわかりません。これはすでに簡略化されたバージョンですが、まだ機能していません:
- スタブは呼び出されます
- コンソールログ
Steven Stub is called
が呼び出されます then
コールバックは呼び出されません- エラー メッセージなし
これが私のコードです
var p = {steven: function() {console.log('original steven');}},
pStub = sinon.stub(p, 'steven', function(){
console.log('Steven Stub is called');
var defer = $q.defer();
defer.resolve({item: 5});
return defer.promise;
});
var promise = p.steven();
promise.then(
function(data){console.log('Peter?');},
function(data) {console.log('ERROR?');},
function(data) {console.log('progress?');});
何か案が?