(function(window,document){
var _trimString = function( string ){
var trimString;
trimString = string.replace(/^\s+|\s+$/g,'');
return trimString
};
var displayCorrectText = function( incorrecttext ){
correctText = "."+incorrecttext;
document.write( correctText );
}
var Circular = function(){};
Circular.prototype.init = function( string ){
displayCorrectText( _trimString( string ) );
};
var circular = new Circular();
window.circular = circular;
})(window,document);
circular.init('asd.asd');
我有这个模块声明,我想使用 Jasmine测试_trimString函数。
我写了类似这样的代码
describe("Form Creator private function ", function(){
it("_trimString should trim string", function(){
var _trimString = function( string ){
var trimString;
trimString = string.replace(/^\s+|\s+$/g,'');
return trimString
};
expect(_trimString(' test text ') ).toBe('test text');
});
});
我做得对,在测试中声明函数本身,还是有其他方法?如果我这样做了功能测试,我认为在源代码中复制实际功能是错误的。也许,有人可以向我展示在模块声明中使用“私有”函数的正确案例