我的主干 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)框架测试这行代码?
最佳答案
您需要以可测试的方式拼接代码。编写可测试的代码,或者实际上编写一般测试本身就是一种技能。在这种情况下,您需要稍微重组您的代码。根据我在那里看到的,我会想出这个:
_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');
})
关于javascript - 如何使用 jasmine.js 测试 js 函数的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23947131/