侧边栏壁纸
博主头像
colo

欲买桂花同载酒

  • 累计撰写 1823 篇文章
  • 累计收到 0 条评论

为简单加法函数设计单元测试用例

2025-12-12 / 0 评论 / 5 阅读

题目

为简单加法函数设计单元测试用例

信息

  • 类型:问答
  • 难度:⭐

考点

单元测试概念,测试用例设计,断言使用

快速回答

为加法函数设计单元测试的核心要点:

  • 测试正常输入:如 (2, 3) 预期 5
  • 测试边界值:如 (0, 0) 和最大整数
  • 测试负数输入:如 (-1, 5) 预期 4
  • 使用断言验证结果
## 解析

原理说明

单元测试是验证代码最小单元(如函数)行为的自动化测试。核心目标是:隔离测试快速反馈预防回归。本题考察为简单函数设计有效测试用例的能力。

代码示例(Python unittest)

import unittest

def add(a, b):
    return a + b

class TestAddFunction(unittest.TestCase):
    # 正常输入测试
    def test_positive_numbers(self):
        self.assertEqual(add(2, 3), 5)

    # 边界值测试
    def test_zero_values(self):
        self.assertEqual(add(0, 0), 0)
        self.assertEqual(add(10, 0), 10)

    # 负数输入测试
    def test_negative_numbers(self):
        self.assertEqual(add(-1, 5), 4)
        self.assertEqual(add(-3, -2), -5)

if __name__ == '__main__':
    unittest.main()

最佳实践

  • 用例分类:每组测试一个明确场景(正常/边界/异常)
  • 命名规范:测试方法名需清晰表达意图(如 test_add_negative_numbers)
  • 断言选择:使用精确断言(如 assertEqual 而非 assertTrue)
  • 独立性:每个测试用例必须独立运行且不依赖执行顺序

常见错误

  • ❌ 只测试正常路径(忽略边界和异常)
  • ❌ 断言过于笼统(如只验证结果非空)
  • ❌ 测试用例间存在依赖(如共享变量)
  • ❌ 不处理浮点数精度(如 assertEqual(0.1+0.2, 0.3) 会失败)

扩展知识

  • 测试框架:Python 可用 unittest/pytest,Java 用 JUnit,JS 用 Jest
  • 测试覆盖率:使用 coverage.py 等工具确保覆盖所有代码分支
  • 测试金字塔:单元测试应占测试总量的 70%(高于集成和 UI 测试)
  • TDD:测试驱动开发要求先写测试再实现功能