jasmine-javascript测试闭包
我有以下几种方法。。我希望能够模拟一些东西,以便测试是否调用了pete()。我不知道当我使用闭包时该怎么做。有什么想法吗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
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();已调用或不可能?修复了我的示例以使用正确的语法。。很抱歉最初的输入错误。(我觉得自己像个傻瓜——我刚刚在一个非常粗糙的网站上回复了这个问题)你真的想测试一下,当你给吉姆打电话的时候,皮特被打电话了吗?或者你想测试一下,当你打电话给吉姆时,发生了什么事(皮特触发的)?