Я пытаюсь заглушить метод, используя синон, жасмин и $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?');});
Есть идеи?