Javascript 如何使用jasmine.js测试js函数的一部分?
我有一个backbones的view.js函数:Javascript 如何使用jasmine.js测试js函数的一部分?,javascript,jquery,backbone.js,jasmine,Javascript,Jquery,Backbone.js,Jasmine,我有一个backbones的view.js函数: functionName : function(e){ var a = $(e.currentTarget).val().replace(/\ /g, '+'); // Remaining code (function behavior) here... } 我需要检查这个var a=$(e.currentTarget).val().replace(/\/g,'+')jasmine框架中用于代码覆盖的代码行 请帮助我,如何
functionName : function(e){
var a = $(e.currentTarget).val().replace(/\ /g, '+');
// Remaining code (function behavior) here...
}
我需要检查这个var a=$(e.currentTarget).val().replace(/\/g,'+')代码>jasmine框架中用于代码覆盖的代码行
请帮助我,如何使用jasmine.js(1.3.1版)框架测试这行代码?您需要以可测试的方式拼接代码。编写可测试的代码,或者实际上编写测试本身就是一项技能。在这种情况下,您需要稍微重新构造代码。根据我在那里看到的情况,我会得出以下结论:
_padPlus: function( value ) {
return value.replace(/\ /g, '+');
},
functionName: function(e) {
var a = this._padPlus( $(e.currentTarget).val() );
// Remaining code (function behavior) here...
}
从这里,我将自己测试\u padPlus
:
it('should replace spaces with plus signs', function(){
// arrange
var view = new View();
var string = 'this is a sentence with spaces';
// act
var result = view._padPlus( string );
// assert
expect(result).toBe('this+is+a+sentence+with+spaces');
})
我们可以不拼接吗?