Javascript 如何使用jasmine.js测试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框架中用于代码覆盖的代码行 请帮助我,如何

我有一个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框架中用于代码覆盖的代码行


请帮助我,如何使用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');
})

我们可以不拼接吗?