我很难理解茉莉花的spyOn功能。 我写了一个简单的函数并测试我的方法是否被调用:
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
我在这里做错了什么?
答案 0 :(得分:5)
您需要调用myView()
函数,以便调用myLinks()
。
function myLinks(){
//some tasks
}
function myView() {
myLinks();
}
上面这两个函数在 window 对象中声明,然后创建一个指向窗口的间谍对象。
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();
});
});