茉莉花测试代码中未调用回调函数

用户名

我正在使用jasmine 2.0进行测试,并且正在监视jquery ajax并返回promise。在done()函数方法中,不会调用displayContent(),但会显示其上方的控制台消息。我要去哪里错了?

test.js

it(..., function() {
   var data = {"name" : "John Doe"};
   spyOn($, 'ajax').and.callFake(function (req) {
     var d = $.Deferred();
     d.resolve(data);   
     return d.promise();
   });

   app.doSomething();
   expect(app.doSomething).toHaveBeenCalled();
})

app.js

app.getData = function() {
  var jsonData = app.loadEmpData();   //gets replaced by spy and returns resolve(data);
  jsonData.done(function(data) {
      console.log("shows up in the console");
      app.displayContent(data);  // doesn't get called 
  });
  jsonData.fail(function(){
      console.log("error loading data");
  });
}

app.loadEmpData = function() {
   return $.getJSON("/employee.json");
}

app.displayContent = function() {
   console.log("some content");
}

app.doSomething = function() {
  app.getData();
}
阿南德

监视displayContent()并检查是否调用了它。我修改了您的测试displayContent()并被召集。用此代码替换并检查。

it("some test", function() {
    var data = {"name" : "John Doe"};
    spyOn($, 'ajax').and.callFake(function (req) {
        var d = $.Deferred();
        d.resolve(data);   
        return d.promise();
    });
    spyOn(app, 'displayContent').and.callThrough();
    app.getData();
    expect(app.displayContent).toHaveBeenCalled();
});

在Jasmine 2.0and.callThrough();中将委派给的实际实现displayContent()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

茉莉花测试,未调用函数

来自分类Dev

茉莉花测试中未调用AngularJS指令链接函数

来自分类Dev

茉莉花:测试一个函数,使用茉莉花从另一个函数中调用

来自分类Dev

Javascript茉莉花测试:防止测试的函数从在测试的函数中创建的对象调用函数

来自分类Dev

茉莉花测试:如何通过被测函数中调用的函数进行调用?

来自分类Dev

AngularJS:如何在指令中茉莉花测试回调函数?

来自分类Dev

在模拟茉莉花测试中与然后回调的角度

来自分类Dev

测试在application.js中定义并在jQuery(function($){}中使用茉莉花调用)的函数

来自分类Dev

“ TypeError:createController不是”茉莉花测试中的函数

来自分类Dev

在茉莉花测试中访问IIFE

来自分类Dev

茉莉花测试超时,原因是“在5000毫秒内未调用异步回调”,尽管在我的Angular项目测试中未使用任何异步功能

来自分类Dev

茉莉花引发一个错误-错误:超时-未调用异步回调

来自分类Dev

JSONP中未调用回调函数

来自分类Dev

茉莉花独立中的辅助函数

来自分类Dev

使用茉莉花测试imagesLoaded()进度回调

来自分类Dev

如何测试使用茉莉花和TypeScript用常量调用的函数

来自分类Dev

需要角茉莉花测试用例的scrollIntoView函数调用

来自分类Dev

Javascript茉莉花测试:防止测试函数从在测试函数内创建的对象调用函数

来自分类Dev

NodeJS函数的Mocha测试未调用回调

来自分类Dev

NodeJS函数的Mocha测试未调用回调

来自分类Dev

茉莉花测试,addEventListener

来自分类Dev

Angular +茉莉花测试

来自分类Dev

茉莉花链测试

来自分类Dev

茉莉花测试失败

来自分类Dev

茉莉花测试-优先

来自分类Dev

茉莉花-如何监视函数内的函数调用?

来自分类Dev

茉莉花+ AngularJS:如何测试$ rootScope。$ broadcast与参数调用?

来自分类Dev

Angularjs茉莉花测试:使用$ backend进行api调用

来自分类Dev

如何在$(window).on(“ load”,function(){});中测试代码 在茉莉花

Related 相关文章

  1. 1

    茉莉花测试,未调用函数

  2. 2

    茉莉花测试中未调用AngularJS指令链接函数

  3. 3

    茉莉花:测试一个函数,使用茉莉花从另一个函数中调用

  4. 4

    Javascript茉莉花测试:防止测试的函数从在测试的函数中创建的对象调用函数

  5. 5

    茉莉花测试:如何通过被测函数中调用的函数进行调用?

  6. 6

    AngularJS:如何在指令中茉莉花测试回调函数?

  7. 7

    在模拟茉莉花测试中与然后回调的角度

  8. 8

    测试在application.js中定义并在jQuery(function($){}中使用茉莉花调用)的函数

  9. 9

    “ TypeError:createController不是”茉莉花测试中的函数

  10. 10

    在茉莉花测试中访问IIFE

  11. 11

    茉莉花测试超时,原因是“在5000毫秒内未调用异步回调”,尽管在我的Angular项目测试中未使用任何异步功能

  12. 12

    茉莉花引发一个错误-错误:超时-未调用异步回调

  13. 13

    JSONP中未调用回调函数

  14. 14

    茉莉花独立中的辅助函数

  15. 15

    使用茉莉花测试imagesLoaded()进度回调

  16. 16

    如何测试使用茉莉花和TypeScript用常量调用的函数

  17. 17

    需要角茉莉花测试用例的scrollIntoView函数调用

  18. 18

    Javascript茉莉花测试:防止测试函数从在测试函数内创建的对象调用函数

  19. 19

    NodeJS函数的Mocha测试未调用回调

  20. 20

    NodeJS函数的Mocha测试未调用回调

  21. 21

    茉莉花测试,addEventListener

  22. 22

    Angular +茉莉花测试

  23. 23

    茉莉花链测试

  24. 24

    茉莉花测试失败

  25. 25

    茉莉花测试-优先

  26. 26

    茉莉花-如何监视函数内的函数调用?

  27. 27

    茉莉花+ AngularJS:如何测试$ rootScope。$ broadcast与参数调用?

  28. 28

    Angularjs茉莉花测试:使用$ backend进行api调用

  29. 29

    如何在$(window).on(“ load”,function(){});中测试代码 在茉莉花

热门标签

归档