Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript &引用;“spyObj.plan未定义”;茉莉花试验_Javascript_Jasmine_Jasmine Maven Plugin - Fatal编程技术网

Javascript &引用;“spyObj.plan未定义”;茉莉花试验

Javascript &引用;“spyObj.plan未定义”;茉莉花试验,javascript,jasmine,jasmine-maven-plugin,Javascript,Jasmine,Jasmine Maven Plugin,我有一个名为doLogin的方法,它从另一个对象调用另一个方法login doLogin : function(data) { var userMgtRequest = new UserMgtRequest(); userMgtRequest.setLoginId(data.username); userMgtRequest.setLoginPwd(data.password); var callback = this.call

我有一个名为doLogin的方法,它从另一个对象调用另一个方法login

doLogin : function(data) {
        var userMgtRequest = new UserMgtRequest();

        userMgtRequest.setLoginId(data.username);
        userMgtRequest.setLoginPwd(data.password);

        var callback = this.callbackLogin;
        userMgtManager.login(userMgtRequest, callback);
    }
我试图用jasmine测试调用主函数时是否真的调用了函数内登录。因此,我在这两个函数上放置了一些间谍,并使用“和callthrough()”进入实际实现。 但是当我调用第一个(doLogin)函数时

logInController.doLogin(data);
我得到这个错误: TypeError:无法读取未定义的属性“apply”

与Jasmine一起追踪到这个电话:

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);
};
谁能告诉我什么是间谍计划,为什么它没有定义

**编辑: 查看jasmine.js源文件,我知道plan属性是spy将根据调用方式调用的函数。

看来我的文件定义有误。 这里解决了相同的问题: