【发布时间】:2013-12-24 09:11:23
【问题描述】:
我正在尝试为我的排序程序编写一个 jasmine 单元测试.. 我是写茉莉花和测试用例的新手.. 在下面提供我的代码... 你们能告诉我如何在小提琴中做到这一点...
var myNumbersToSort = [-1, 2, -3, 4, 0.3, -0.001];
function getClosestToZero(numberSet) {
var i = 0, positiveSet = [], positiveClosest = 0;
for (i = 0; i < numberSet.length; i += 1) {
positiveSet.push(numberSet[i] >= 0 ? numberSet[i] : numberSet[i] * -1);
}
positiveClosest = Math.min.apply(Math, positiveSet);
return numberSet[positiveSet.indexOf(positiveClosest)];
}
alert(getClosestToZero(myNumbersToSort));
【问题讨论】:
-
你的函数更高效的版本是:
function getClosestToZero(numberSet){ var current, i = 0, l = numberSet.length, min = Number.POSITIVE_INFINITY, min_abs = Number.POSITIVE_INFINITY; for ( ; i<l; ++i ) { current = Math.abs( numberSet[i] ); if ( current < min_abs ) { min = numberSet[i]; min_abs = current; } } return min; }
标签: javascript unit-testing jasmine testcase jasmine-jquery