You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TDD实战:JavaScript中如何一次性运行多个sumAll测试?

搞定sumAll函数所有测试一次性通过的方法

要让所有测试一次性跑过,核心是让sumAll函数满足所有测试用例的规则。先逐个明确每个测试的要求,再写出对应的实现:

测试对应的需求梳理

  • 基础范围求和:计算两个数字之间(包含两端)所有整数的和
  • 支持大数求和:JS数字精度能覆盖,按正常求和逻辑处理即可
  • 第一个数大于第二个数时:自动取两个数的最小值和最大值,计算该区间的和
  • 含负数参数:直接返回'ERROR'
  • 参数不是原始数字类型(字符串、数组等):返回'ERROR'

完整的sumAll函数实现

把你的sumAll.js文件替换成以下代码:

function sumAll(a, b) {
  // 检查参数合法性:必须是原始数字类型,且非负数
  if (typeof a !== 'number' || typeof b !== 'number' || a < 0 || b < 0) {
    return 'ERROR';
  }
  
  // 确定求和区间的边界
  const min = Math.min(a, b);
  const max = Math.max(a, b);
  
  // 用等差数列求和公式计算,避免循环提升效率
  return (max - min + 1) * (min + max) / 2;
}

module.exports = sumAll;

运行测试的操作

  1. 把测试代码里所有的test.skip改成test,移除所有跳过标记
  2. 运行你的测试命令(比如jest sumAll.test.js),所有测试就能一次性通过了

内容的提问来源于stack exchange,提问作者lildo-laggins

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 04:24:16