我来教教你前端自动化单元测试如何做(2)

发表于:2016-09-22来源:segmentfault作者:acrens点击数: 标签:前端
/** * 获取 a 除以 b 的结果 * @param {[Number]} a [数字] * @param {[Number]} b [数字] * @return {[Number]} [结果数字] */ function division (a, b) { return a / b;} // 测试代码 functio
/** * 获取 a 除以 b 的结果 * @param {[Number]} a [数字] * @param {[Number]} b [数字] * @return {[Number]} [结果数字] */ function division(a, b) { return a / b; } // 测试代码 function test() { var result = division(6, 2); if (result === 3) { console.log('pass'); } else { console.log('fail'); } }

咋一看上面的代码没什么问题,可以满足产品的需求,但是问题来了,如果 b 为 0,这个模块就出现了 BUG,同时如果下次需要达到其他的值就算通过,那就得去修改测试代码,这样的测试代码本身也太不健全。于是乎有了下面的方式:

/**
 * 获取 a 除以 b 的结果
 * @param  {[Number]} a [数字]
 * @param  {[Number]} b [数字]
 * @return {[Number]}   [结果数字]
 */
function division(a, b) {

    if (b === 0) {
        return 0;
    } else {
        return a / b;
    }
}

function 



           

原文转自:https://segmentfault.com/a/1190000006969924