2014-03-12 38 views
0
function calculatePrice(base_cost, base_dist, additional_cost, additional_dist, total_dist) { 

    if (total_dist > base_dist) { 



    } else { 
    return base_cost; 
    } 


} 

function unitTest() { 
    var cost; 

    cost = calculatePrice(10,20,5,5,15); 
    if (cost != 10) console.log ("FAILED 1"); 

    cost = calculatePrice(10,10,5,5,15); 
    if (cost != 15) console.log ("FAILED 2"); 

    cost = calculatePrice(20,10,5,1,15); 
    if (cost != 45) console.log ("FAILED 3"); 

    cost = calculatePrice(20,10,5,1,1); 
    if (cost != 20) console.log ("FAILED 4"); 

    cost = calculatePrice(10,10,5,1,14); 
    if (cost != 30) console.log ("FAILED 5"); 

    cost = calculatePrice(10,10,5,2,14); 
    if (cost != 20) console.log ("FAILED 6"); 

    console.log('Test complete'); 

} 

我想计算单位测试的函数值为passing.I只传递1,并且需要在calculatePrice函数中编写一些通行码。 非常感谢Javascript单元测试功能参数

+0

你能解释一下更多 –

+0

我想在unitTest函数中传递所有cost值 – cyberoot

+0

我需要在calcutePrice函数中写入以传递unitTest – cyberoot

回答

2

您需要使用Math.ceil

计算将像

var dist_diff = total_dist - base_dist; 
var time = Math.ceil(dist_diff/additional_dist); 
return (time * additional_cost) + base_cost; 

所以,你会得到没有错误的测试结果完全。