我有一个名为index.js的文件,其中包含以下代码。我想测试其中的一些函数,其中add
和print
是主要的。
(function($){
"use strict";
$(function(){
var add = function(a, b){
// ...
},
print = function(str){
// ...
},
setup = function(){
// ...
},
init = function(){
// ...
};
setup();
init();
});
})(jQuery);
我应该怎么做呢?这种编码方式对客户端是否有任何安全保障?我只有运行在客户端的代码,没有任何服务器参与。
我尝试过:
var outerObj = (function(greet){
var innerObj = (function(){
return {test: function(){ console.log(greet); }}
})();
return innerObj;
})("hi");
outerObj.test();
但是,在我的情况下,innerObj
这一行在等号右边有一个$
,导致控制台报错,提示$(...)不是一个函数。我同意,它是单个文档对象的数组。
在任何启用jquery的网页的控制台中检查var a = (function(){ var val = $(function(){return 10;})(); })();
,以查看错误。
即使我放弃外壳并且将$(function() {});
带出来。我该如何测试呢?
它仍然是一个对象,仍然有错误。
我可以进行什么样的测试,单元测试、bdd测试等,如何进行?