2013-11-19 8 views
1

У меня есть следующий набор тестов:Ожидаемый шпион, но получил сообщение об ошибке с синусовыми заглушками?

describe('rendering Bundle View', function() { 
    beforeEach(function() { 
     this.view = new Backbone.View(); 
     this.renderStub = Sinon.stub(this.view, 'render', function() { 
      this.el = document.createElement('div'); 
      return this; 
     }); 
     this.view.render(); 
    }); 
    it('should have called render once', function() { 
     console.info('RENDERRRR' + (typeof this.renderStub)); 
     expect(this.renderStub.calledOnce).toBe(true); // this passes 
     expect(this.renderStub).toHaveBeenCalled(); // this fails 
    }); 
}); 

Почему первый ожидать заявление пасс но второй провал? Второй дает сообщение об ошибке: ожидаемый шпион, но получил функцию, даже если Sinon-заглушки внедряют шпионский API, поэтому он должен вернуть шпиона ??

+3

Вы должны фактически отправить ответ на свой вопрос или удалить его, чтобы люди, которые хотят помочь, не приходят сюда ни для чего. – Louis

ответ

0

выяснено. Я думаю, что это потому, что я использовал шпиона Sinon с функцией жасмина, которая ожидала, что шпион жасмина, следовательно, он не позволил мне использовать ожидания Sinon.