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