使用函数参数进行 Javascript 单元测试

标签 javascript jquery

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');

}

我想计算unitTest的函数值来传递。我只传递了1,需要在calculatePrice函数中编写一些传递代码。 非常感谢

最佳答案

您需要使用Math.ceil

计算就是这样

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

因此,您将获得没有错误的完整测试结果。

关于使用函数参数进行 Javascript 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22343146/

相关文章:

javascript - 在 Django 框架中获取 js 文件中的 JSON 数据

javascript - 获取选定文本javascript的边界矩形

javascript - 使用 Webpack 将 jQuery 暴露给真实的 Window 对象

javascript - 如何使用Javascript在函数内部调用外部库的函数?

javascript - 自拍时图像旋转 90 度

javascript - `this` 和 `prototype` 有什么区别? javascript 哎呀

Javascript 全局键盘处理,听不到 A-Z 键?

javascript - Stop::-webkit-progress-value 动画

javascript - Bootstrap 始终打开响应式导航栏

javascript - 无法使用 AJAX 修改表单内的元素