2014-10-27 62 views
0

我最近开始使用jasmine为我们的应用程序编写junit测试用例。 我被困在如何调用spied函数的callBack函数的这一点上。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现实世界中实现,并希望呼吁nocallThrough为searchForAccess。但我的queryCalback函数必须调用完整的用例覆盖。

在我的天赋我试图通过

spyOn(iService,'searchForAccess'); 
iService.searchForAccess.mostRecentCall.args[1](error, userProfile); 

iService.searchForAccess.mostRecentCall返回{},空对象调用queryCalback功能明确。

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

问候 Punith

回答

0

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

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

希望对他人有帮助。

Regards Punith