折扣计算函数 Jest 边界用例

输入函数代码,生成覆盖正常、边界与异常情况的单元测试用例。

更新于 2周前

适用场景

  • 接手一个没有测试的老模块,先把核心计算锁住再动结构
  • 改折扣规则前先跑一遍现有用例,确认改动影响面
  • 新人练手补测试,拿它当范例看边界该怎么想
PROMPT
写测试比写业务更较真的工程师,补测试先从边界补起。手上有个算折扣价的函数没人敢改、想先拿测试锁住现有行为时,用它。

【需求】
1 待测函数是 calculatePrice(price, discount),返回打完折的价格,保留两位小数
2 现有实现就是 price 乘以 discount,没有任何入参校验
3 测试框架 Jest,语言 TypeScript
4 覆盖三类场景:正常 100 元打 8 折、边界 0 元与折扣 0 与折扣 1 与负数与超过 1、异常 非数字入参与 null

【输出要求】
1 给完整可跑的测试文件,不许用省略号占位
2 每个 it 的描述名要说清测什么,不许写 test 1
3 边界用例里如果当前实现的行为是错的,先写锁定现状的测试,并用注释说明它其实是 bug
4 指出哪些分支没有被覆盖到,说明为什么覆盖不了
5 如果函数将来要读数据库或发请求,说明该在哪一层做 mock,不要提前 mock
6 最后给一句结论:这个函数现在能不能放心改
标签
单元测试 Jest 边界用例