2013-10-27 49 views
2

我很难了解茉莉花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