如何使用Jasmine.js版本1.3.1框架调用或不调用jquery函数?

时间:2014-05-26 10:22:53

标签: javascript unit-testing backbone.js jasmine jasmine-jquery

我的骨干应用程序中有查看功能:

 test: function() {                       
    $('body').scrollTop(0); 
    var url = {STRING}.replace("{SEARCH_SUB_STRING}", "{REPLACE_STRING}");              
 },

如何使用Jasmine.js检查是否: $(' body')。scrollTop(0); - 是否调用scrollTop并且 replace()被替换为{REPLACE_STRING}或不是

此外,如何使用Jasmine.js检查.trigger() , event.preventDefault() , .focus()

对于使用jasmine.js框架版本1.3.1的普通视图函数调用检查,我将执行以下操作:

spyOn(SpyObject, 'ViewFunctionName').andCallThrough();
spyOn(SpyObject, 'CalledFunctionName1');
spyOn(SpyObject, 'CalledFunctionName2');
SpyObject.ViewFunctionName();
expect(mainBody.CalledFunctionName1).toHaveBeenCalled();
expect(mainBody.CalledFunctionName2).toHaveBeenCalled();

1 个答案:

答案 0 :(得分:2)

喜欢这个

    spyOn($.fn, "scrollTop");

    ...

    expect($.fn.scrollTop).toHaveBeenCalledWith(0);

请参阅this answer