2013-10-27 4 views
2

У меня проблемы с функцией jasmine spyOn. Я написал простую функцию и испытание, если мой метод был назван:жасмин Ожидаемый шпион myLinks, который был вызван ошибкой

function myView() { 
    myLinks(); 
} 

Вот мои тесты:

describe('#myView', function() { 
    it('updates link', function() { 
     var spyEvent = spyOn(window, 'myLinks'); 
     expect(spyEvent).toHaveBeenCalled(); 
    }); 
    }); 

Это возвращает следующий сбой:

Expected spy myLinks to have been called 

Что я делаю Неправильно здесь?

ответ

5

Вы должны позвонить функции myView(), так что были вызваны myLinks().

function myLinks(){ 
    //some tasks 
}  

function myView() { 
    myLinks(); 
} 

Это две функции выше объявлены в окне объекта, а затем создать объект шпиона, указывающий на окно.

describe('#myView', function() { 
    myView();//Call the method so the myLinks was called too 
    it('updates link', function() { 
     var spyEvent = spyOn(window, 'myLinks'); 
     expect(spyEvent).toHaveBeenCalled(); 
    }); 
    }); 
+0

arrgggh! Благодаря @Claudio – Micheal

Смежные вопросы