【问题标题】:Jasmine junit testing of delegate callback of function argsJasmine junit测试函数args的委托回调
【发布时间】:2014-12-22 09:05:51
【问题描述】:

我最近开始使用 jasmine 为我们的一个应用程序编写 junit 测试用例。 我在这一点上被困在如何调用间谍函数的回调函数。

setProfile :function(userProfile,callback){
        var user;
        var subjectInfo;

        iService.searchForAccess(subjectInfo , queryCalback);

        function queryCalback(err, userProfile) {
           if(err){
               callback(true,errorMessage)
           }else{
             callback(false,null)
           }
        }
}

现在,在我的规范中,我想模拟对 iService.searchForAccess 真实世界实现的调用,并希望为 searchForAccess 调用 nocallThrough。但是必须调用我的 queryCalback 函数才能覆盖完整的用例。

在我的规范中,我尝试通过

显式调用 queryCalback 函数
spyOn(iService,'searchForAccess');
iService.searchForAccess.mostRecentCall.args[1](error, userProfile);

iService.searchForAccess.mostRecentCall 返回 {},空对象。

请帮忙!!!!!!!!!!

问候 普尼斯

【问题讨论】:

    标签: javascript node.js junit jasmine jasmine-node


    【解决方案1】:

    我已经使用 sinonjs 作为上述问题陈述的解决方案。以下是其完成方式的语法。

    var sinon = require('../node_modules/sinon/lib/sinon.js');
    sinon.stub(iService, 'searchForAccess').callsArgWith(1, mockSubjectInfo, session.userProfile);
    

    希望对其他人有所帮助。

    问候 普尼斯

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-15
      • 1970-01-01
      • 2017-09-24
      • 1970-01-01
      • 2016-12-18
      • 2018-01-16
      • 2018-07-13
      相关资源
      最近更新 更多