0
我有一個名爲doLogin的方法,它調用另一個對象的另一個方法登錄。「spyObj.plan is undefined」在茉莉花測試
doLogin : function(data) {
var userMgtRequest = new UserMgtRequest();
userMgtRequest.setLoginId(data.username);
userMgtRequest.setLoginPwd(data.password);
var callback = this.callbackLogin;
userMgtManager.login(userMgtRequest, callback);
}
我想測試,茉莉,如果在功能登錄真的被稱爲與否當我打電話的主要功能。因此,我在這兩個功能上加了幾個間諜,並使用「和CallThrough()」進入實際實施。 但是當我做調用第一(doLogin)函數
logInController.doLogin(data);
我得到這個錯誤: 類型錯誤:無法讀取屬性未定義
茉莉跟蹤它的這一號召「應用」:
jasmine.createSpy = function(name) {
var spyObj = function() {
spyObj.wasCalled = true;
spyObj.callCount++;
var args = jasmine.util.argsToArray(arguments);
spyObj.mostRecentCall.object = this;
spyObj.mostRecentCall.args = args;
spyObj.argsForCall.push(args);
spyObj.calls.push({object: this, args: args});
return spyObj.plan.apply(this, arguments);
};
誰能告訴我什麼是spyObj.plan財產,爲什麼它被未定義?
**編輯: 查看jasmine.js源文件,我知道plan屬性是間諜要調用的函數,具體取決於它的調用方式。 jasmine.js.source