jasmine-javascript测试闭包

jasmine-javascript测试闭包,javascript,unit-testing,closures,jasmine,Javascript,Unit Testing,Closures,Jasmine,我有以下几种方法。。我希望能够模拟一些东西,以便测试是否调用了pete()。我不知道当我使用闭包时该怎么做。有什么想法吗 bla = (function(){ var a = 0; jim = function(){ if(a==1){ pete(); } }, pete = function(){ return 1; } var publicInterf

我有以下几种方法。。我希望能够模拟一些东西,以便测试是否调用了pete()。我不知道当我使用闭包时该怎么做。有什么想法吗

bla = (function(){
     var a = 0;
     jim = function(){
         if(a==1){
             pete();
         }
     },
     pete = function(){
         return 1;
     }

     var publicInterface = {
         "publicjim": jim
     }
     return publicInterface;
})();

在自动执行的匿名函数中,使用的是对象属性

jim
pete
需要是局部变量,以便通过闭包“隐藏”它们

var bla = (function(){
    var a = 1;
    var jim = function() {
      if (a == 1) {
         pete();
      }
    };
    var pete = function() {
        return 1;
    };

    return {
       "publicjim": jim
    };  
})();

您提出了一个有效的观点,我在经过清理的示例中无意中使用了“:”属性语法。我已经更新了我的示例代码来澄清。在我的真实代码中,我使用“=”我仍然在学习js,所以有时候我的语法有点不稳定。我的问题仍然存在——我如何在单元测试中使用Jasmine确定pete();已调用或不可能?修复了我的示例以使用正确的语法。。很抱歉最初的输入错误。(我觉得自己像个傻瓜——我刚刚在一个非常粗糙的网站上回复了这个问题)你真的想测试一下,当你给吉姆打电话的时候,皮特被打电话了吗?或者你想测试一下,当你打电话给吉姆时,发生了什么事(皮特触发的)?