我正在尝试使用 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?');});
任何想法?