2014-10-27 63 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