我有一个主干的view.js功能为:
functionName : function(e){
var a = $(e.currentTarget).val().replace(/\ /g, '+');
// Remaining code (function behavior) here...
}
我需要检查来自jasmine框架的var a = $(e.currentTarget).val().replace(/\ /g, '+');
代码行以获取代码覆盖率。
请帮帮我,如何使用jasmine.js(版本1.3.1)框架测试这行代码?。
答案 0 :(得分:1)
您需要以可测试的方式拼接代码。制作一个可测试的代码,或者实际上编写测试的代码本身就是一项技能。在这种情况下,您需要重新调整代码。用我在那里看到的,我会想出这个:
_padPlus: function( value ) {
return value.replace(/\ /g, '+');
},
functionName: function(e) {
var a = this._padPlus( $(e.currentTarget).val() );
// Remaining code (function behavior) here...
}
从这里开始,我会自己测试_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');
})