¥
立即购买

Java测试用例描述生成器

13 浏览
1 试用
0 购买
Dec 6, 2025更新

本提示词专为Java开发场景设计,能够根据提供的Java方法详细信息,自动生成结构完整、技术准确的测试用例描述。它采用分步分析方法,确保测试用例覆盖边界条件、异常场景和正常功能验证,输出结果符合软件测试最佳实践和Java开发规范,帮助开发人员快速构建高质量的测试文档,提升代码测试覆盖率和软件质量。

方法基本信息

  • 方法名称:computePage
  • 所属类:未提供
  • 方法描述:计算分页元数据并返回不可变的 Page(totalItems, pageSize, pageNo, totalPages, offset, limit, hasNext, hasPrev)

测试用例总览

  • 用例数量:16
  • 覆盖场景类型统计:
    • 正常场景:5
    • 边界场景:7
    • 异常场景:4

详细测试用例

  • 用例编号:TC-001

    • 测试场景描述:首页正常分页(存在多页)
    • 输入参数:totalItems=50, pageSize=10, pageNo=1
    • 预期输出:Page{totalItems=50, pageSize=10, pageNo=1, totalPages=5, offset=0, limit=10, hasNext=true, hasPrev=false}
    • 测试目的:验证首页分页的offset/limit与前后页标志
    • 优先级:P2
  • 用例编号:TC-002

    • 测试场景描述:中间页且整页满额
    • 输入参数:totalItems=100, pageSize=20, pageNo=3
    • 预期输出:Page{totalItems=100, pageSize=20, pageNo=3, totalPages=5, offset=40, limit=20, hasNext=true, hasPrev=true}
    • 测试目的:验证中间页offset/limit与前后页标志
    • 优先级:P2
  • 用例编号:TC-003

    • 测试场景描述:末页且不足一页
    • 输入参数:totalItems=101, pageSize=20, pageNo=6
    • 预期输出:Page{totalItems=101, pageSize=20, pageNo=6, totalPages=6, offset=100, limit=1, hasNext=false, hasPrev=true}
    • 测试目的:验证末页limit计算与hasNext/hasPrev
    • 优先级:P2
  • 用例编号:TC-004

    • 测试场景描述:请求页大于总页数,归一化到末页
    • 输入参数:totalItems=42, pageSize=10, pageNo=9
    • 预期输出:Page{totalItems=42, pageSize=10, pageNo=5, totalPages=5, offset=40, limit=2, hasNext=false, hasPrev=true}
    • 测试目的:验证pageNo>totalPages时的归一化与offset/limit
    • 优先级:P1
  • 用例编号:TC-005

    • 测试场景描述:无数据(totalItems=0)且请求首页
    • 输入参数:totalItems=0, pageSize=10, pageNo=1
    • 预期输出:Page{totalItems=0, pageSize=10, pageNo=1, totalPages=0, offset=0, limit=0, hasNext=false, hasPrev=false}
    • 测试目的:验证无数据时totalPages/pageNo/offset/limit规则
    • 优先级:P1
  • 用例编号:TC-006

    • 测试场景描述:无数据(totalItems=0)且请求超大页码
    • 输入参数:totalItems=0, pageSize=10, pageNo=10
    • 预期输出:Page{totalItems=0, pageSize=10, pageNo=1, totalPages=0, offset=0, limit=0, hasNext=false, hasPrev=false}
    • 测试目的:验证totalPages=0时pageNo归一化为1
    • 优先级:P3
  • 用例编号:TC-007

    • 测试场景描述:totalItems为负数按0处理
    • 输入参数:totalItems=-5, pageSize=10, pageNo=3
    • 预期输出:Page{totalItems=0, pageSize=10, pageNo=1, totalPages=0, offset=0, limit=0, hasNext=false, hasPrev=false}
    • 测试目的:验证负数totalItems归一化与pageNo重置
    • 优先级:P1
  • 用例编号:TC-008

    • 测试场景描述:最小页大小pageSize=1
    • 输入参数:totalItems=3, pageSize=1, pageNo=2
    • 预期输出:Page{totalItems=3, pageSize=1, pageNo=2, totalPages=3, offset=1, limit=1, hasNext=true, hasPrev=true}
    • 测试目的:验证最小页大小时的计算正确性
    • 优先级:P1
  • 用例编号:TC-009

    • 测试场景描述:最大页大小pageSize=200且不足一页
    • 输入参数:totalItems=199, pageSize=200, pageNo=1
    • 预期输出:Page{totalItems=199, pageSize=200, pageNo=1, totalPages=1, offset=0, limit=199, hasNext=false, hasPrev=false}
    • 测试目的:验证最大页大小与单页场景
    • 优先级:P1
  • 用例编号:TC-010

    • 测试场景描述:单条数据、页码超大归一化
    • 输入参数:totalItems=1, pageSize=200, pageNo=999
    • 预期输出:Page{totalItems=1, pageSize=200, pageNo=1, totalPages=1, offset=0, limit=1, hasNext=false, hasPrev=false}
    • 测试目的:验证极端大页码归一化与limit计算
    • 优先级:P3
  • 用例编号:TC-011

    • 测试场景描述:总数正好为整页倍数的末页
    • 输入参数:totalItems=200, pageSize=50, pageNo=4
    • 预期输出:Page{totalItems=200, pageSize=50, pageNo=4, totalPages=4, offset=150, limit=50, hasNext=false, hasPrev=true}
    • 测试目的:验证整页倍数场景的末页limit=pageSize
    • 优先级:P2
  • 用例编号:TC-012

    • 测试场景描述:大数据量极值验证(接近int上限)
    • 输入参数:totalItems=2147483647, pageSize=200, pageNo=10737419
    • 预期输出:Page{totalItems=2147483647, pageSize=200, pageNo=10737419, totalPages=10737419, offset=2147483600, limit=47, hasNext=false, hasPrev=true}
    • 测试目的:验证大数下的ceil与offset/limit正确性
    • 优先级:P2
  • 用例编号:TC-013

    • 测试场景描述:非法页大小(0)
    • 输入参数:totalItems=10, pageSize=0, pageNo=1
    • 预期输出:抛出 IllegalArgumentException
    • 测试目的:验证pageSize下界校验
    • 优先级:P1
  • 用例编号:TC-014

    • 测试场景描述:非法页大小(超过上限)
    • 输入参数:totalItems=10, pageSize=201, pageNo=1
    • 预期输出:抛出 IllegalArgumentException
    • 测试目的:验证pageSize上界校验
    • 优先级:P1
  • 用例编号:TC-015

    • 测试场景描述:非法页码(0)
    • 输入参数:totalItems=10, pageSize=10, pageNo=0
    • 预期输出:抛出 IllegalArgumentException
    • 测试目的:验证pageNo下界校验
    • 优先级:P1
  • 用例编号:TC-016

    • 测试场景描述:非法页码(负数)
    • 输入参数:totalItems=10, pageSize=10, pageNo=-3
    • 预期输出:抛出 IllegalArgumentException
    • 测试目的:验证pageNo负数校验
    • 优先级:P1

测试注意事项

  • 使用断言逐字段校验返回的Page:totalItems(含负数归零)、pageSize、pageNo(归一化后)、totalPages、offset、limit、hasNext、hasPrev。
  • 异常用例使用断言验证抛出IllegalArgumentException,且不应产生副作用。
  • 对totalItems=0或totalItems<0的场景,必须验证pageNo归一化为1且offset=0、limit=0。
  • 并发执行相同输入的重复调用应返回一致结果,可在多线程下并行运行以验证纯函数与线程安全特性。
  • 建议使用JUnit 5与参数化测试组织用例,对大数用例确保计算在int范围内进行精确比对。

方法基本信息

  • 方法名称:parseDate
  • 所属类:未提供
  • 方法描述:将输入字符串解析为LocalDateTime。支持严格自定义模式解析或在无模式时按优先级回退;支持ISO_DATE_TIME/ISO_DATE、两种自定义模式、毫秒时间戳(纯数字且长度≥13)。会裁剪输入首尾空白;输入为空或null抛IllegalArgumentException;格式错误抛DateTimeParseException;不接受24:00与非法闰日。若仅含日期则时间补00:00:00。zone为空使用系统默认时区;解析为ZonedDateTime后返回local部分。保证幂等与线程安全。

测试用例总览

  • 用例数量:26
  • 覆盖场景类型统计:
    • ISO_DATE_TIME解析:5
    • ISO_DATE解析(仅日期补时):2
    • 提供自定义模式严格解析:5
    • 无模式回退到预设格式:2
    • 毫秒时间戳解析与边界:2
    • 输入裁剪与空输入处理:3
    • 不合法时间/日期(24:00、非法闰日、模式不匹配、随机字符串等):6
    • 时区处理(显式zone与zone为null):4
    • 幂等性与线程安全:2

详细测试用例

  • 用例编号:TC-01

    • 测试场景描述:ISO_DATE_TIME(含Z)按目标时区转换
    • 输入参数:input="2023-07-01T12:34:56Z",pattern=null,zone=ZoneId.of("Asia/Shanghai")
    • 预期输出:LocalDateTime=2023-07-01T20:34:56
    • 测试目的:验证ISO含UTC偏移的跨时区换算
    • 优先级:高
  • 用例编号:TC-02

    • 测试场景描述:ISO_DATE_TIME(含+02:00)按目标时区转换
    • 输入参数:input="2023-07-01T12:00:00+02:00",pattern=null,zone=ZoneId.of("UTC")
    • 预期输出:LocalDateTime=2023-07-01T10:00:00
    • 测试目的:验证带正偏移的换算精确性
    • 优先级:高
  • 用例编号:TC-03

    • 测试场景描述:ISO_DATE_TIME(无偏移)使用提供zone
    • 输入参数:input="2023-07-01T12:00:00",pattern=null,zone=ZoneId.of("UTC")
    • 预期输出:LocalDateTime=2023-07-01T12:00:00
    • 测试目的:验证无偏移时使用提供zone构造
    • 优先级:中
  • 用例编号:TC-04

    • 测试场景描述:ISO_DATE(仅日期)补00:00:00
    • 输入参数:input="2023-07-01",pattern=null,zone=ZoneId.of("Asia/Shanghai")
    • 预期输出:LocalDateTime=2023-07-01T00:00:00
    • 测试目的:验证仅日期补时逻辑
    • 优先级:高
  • 用例编号:TC-05

    • 测试场景描述:回退解析‘yyyy-MM-dd HH:mm:ss’
    • 输入参数:input="2023-07-01 09:08:07",pattern=null,zone=ZoneId.of("UTC")
    • 预期输出:LocalDateTime=2023-07-01T09:08:07
    • 测试目的:验证回退顺序包含自定义长格式
    • 优先级:高
  • 用例编号:TC-06

    • 测试场景描述:回退解析‘yyyy/MM/dd HH:mm’(秒补00)
    • 输入参数:input="2023/07/01 09:08",pattern=null,zone=ZoneId.of("UTC")
    • 预期输出:LocalDateTime=2023-07-01T09:08:00
    • 测试目的:验证回退顺序包含斜杠短格式
    • 优先级:中
  • 用例编号:TC-07

    • 测试场景描述:ISO_DATE_TIME含毫秒小数与Z偏移
    • 输入参数:input="2023-07-01T12:34:56.789Z",pattern=null,zone=ZoneId.of("Asia/Shanghai")
    • 预期输出:LocalDateTime=2023-07-01T20:34:56.789
    • 测试目的:验证小数秒保留与跨时区换算
    • 优先级:中
  • 用例编号:TC-08

    • 测试场景描述:提供模式严格解析‘yyyy-MM-dd HH:mm:ss’
    • 输入参数:input="2023-07-01 09:08:07",pattern="yyyy-MM-dd HH:mm:ss",zone=ZoneId.of("UTC")
    • 预期输出:LocalDateTime=2023-07-01T09:08:07
    • 测试目的:验证提供模式时不走回退且严格匹配
    • 优先级:高
  • 用例编号:TC-09

    • 测试场景描述:提供模式严格解析(仅日期)
    • 输入参数:input="2023-12-31",pattern="yyyy-MM-dd",zone=ZoneId.of("UTC")
    • 预期输出:LocalDateTime=2023-12-31T00:00:00
    • 测试目的:验证提供模式的日期补时
    • 优先级:中
  • 用例编号:TC-10

    • 测试场景描述:提供模式含偏移并跨时区
    • 输入参数:input="2023-07-01T12:00:00+02:00",pattern="yyyy-MM-dd'T'HH:mm:ssXXX",zone=ZoneId.of("Asia/Shanghai")
    • 预期输出:LocalDateTime=2023-07-01T18:00:00
    • 测试目的:验证带偏移的严格模式与目标区转换
    • 优先级:高
  • 用例编号:TC-11

    • 测试场景描述:pattern为空串时走回退
    • 输入参数:input="2023-07-01 12:00:00",pattern="",zone=ZoneId.of("UTC")
    • 预期输出:LocalDateTime=2023-07-01T12:00:00
    • 测试目的:验证空串等同于无模式
    • 优先级:中
  • 用例编号:TC-12

    • 测试场景描述:13位纯数字毫秒时间戳
    • 输入参数:input="1688169600000",pattern=null,zone=ZoneId.of("Asia/Shanghai")
    • 预期输出:LocalDateTime=2023-07-01T08:00:00
    • 测试目的:验证毫秒时间戳解析与时区换算
    • 优先级:高
  • 用例编号:TC-13

    • 测试场景描述:12位纯数字不作为时间戳
    • 输入参数:input="168816960000",pattern=null,zone=ZoneId.of("UTC")
    • 预期输出:抛出DateTimeParseException
    • 测试目的:验证时间戳长度下界
    • 优先级:高
  • 用例编号:TC-14

    • 测试场景描述:含负号的数字字符串不视为“纯数字”
    • 输入参数:input="-1688169600000",pattern=null,zone=ZoneId.of("UTC")
    • 预期输出:抛出DateTimeParseException
    • 测试目的:验证“纯数字”约束
    • 优先级:中
  • 用例编号:TC-15

    • 测试场景描述:输入两端空白裁剪
    • 输入参数:input=" 2023-01-02 03:04:05 ",pattern=null,zone=ZoneId.of("UTC")
    • 预期输出:LocalDateTime=2023-01-02T03:04:05
    • 测试目的:验证trim行为
    • 优先级:中
  • 用例编号:TC-16

    • 测试场景描述:输入为null
    • 输入参数:input=null,pattern=null,zone=ZoneId.of("UTC")
    • 预期输出:抛出IllegalArgumentException
    • 测试目的:验证空输入异常分支
    • 优先级:高
  • 用例编号:TC-17

    • 测试场景描述:输入为空白字符串
    • 输入参数:input=" ",pattern=null,zone=ZoneId.of("UTC")
    • 预期输出:抛出IllegalArgumentException
    • 测试目的:验证trim后为空的异常分支
    • 优先级:高
  • 用例编号:TC-18

    • 测试场景描述:不接受24:00时间
    • 输入参数:input="2023-05-10 24:00:00",pattern=null,zone=ZoneId.of("UTC")
    • 预期输出:抛出DateTimeParseException
    • 测试目的:验证24:00非法时间处理
    • 优先级:高
  • 用例编号:TC-19

    • 测试场景描述:不合法闰日(非闰年2月29日)
    • 输入参数:input="2019-02-29",pattern=null,zone=ZoneId.of("UTC")
    • 预期输出:抛出DateTimeParseException
    • 测试目的:验证非法闰日处理
    • 优先级:高
  • 用例编号:TC-20

    • 测试场景描述:合法闰日(闰年2月29日)
    • 输入参数:input="2020-02-29",pattern=null,zone=ZoneId.of("UTC")
    • 预期输出:LocalDateTime=2020-02-29T00:00:00
    • 测试目的:验证闰日有效解析
    • 优先级:中
  • 用例编号:TC-21

    • 测试场景描述:zone为null(默认时区)+ ISO含Z
    • 输入参数:input="2023-07-01T00:00:00Z",pattern=null,zone=null
    • 预期输出:LocalDateTime=2023-07-01T00:00:00(假定系统默认时区为UTC)
    • 测试目的:验证zone缺省使用系统默认时区
    • 优先级:高
  • 用例编号:TC-22

    • 测试场景描述:zone为null(默认时区)+ 提供模式
    • 输入参数:input="2023-07-01 12:00:00",pattern="yyyy-MM-dd HH:mm:ss",zone=null
    • 预期输出:LocalDateTime=2023-07-01T12:00:00(假定系统默认时区为UTC)
    • 测试目的:验证提供模式下的默认时区使用
    • 优先级:中
  • 用例编号:TC-23

    • 测试场景描述:幂等性(同一输入多次调用)
    • 输入参数:input="2023-07-01T12:00:00Z",pattern=null,zone=ZoneId.of("UTC"),重复调用2次
    • 预期输出:两次返回值均为LocalDateTime=2023-07-01T12:00:00,且equals返回true
    • 测试目的:验证幂等性
    • 优先级:高
  • 用例编号:TC-24

    • 测试场景描述:线程安全性(多线程并发解析多种输入)
    • 输入参数:并发N≥8线程,每线程循环M≥100次,覆盖输入集合:
      • ("2023-07-01T12:00:00Z", null, UTC) → 2023-07-01T12:00:00
      • ("2023-07-01", null, UTC) → 2023-07-01T00:00:00
      • ("1688169600000", null, Asia/Shanghai) → 2023-07-01T08:00:00
      • ("2023/07/01 09:08", null, UTC) → 2023-07-01T09:08:00
    • 预期输出:所有返回值与期望逐一一致,无并发异常,结果在重复调用间一致
    • 测试目的:验证线程安全与一致性
    • 优先级:高
  • 用例编号:TC-25

    • 测试场景描述:随机不可解析字符串
    • 输入参数:input="abc",pattern=null,zone=ZoneId.of("UTC")
    • 预期输出:抛出DateTimeParseException
    • 测试目的:验证完全不匹配时的异常
    • 优先级:中
  • 用例编号:TC-26

    • 测试场景描述:提供模式严格性(不接受多余小数秒)
    • 输入参数:input="2023-07-01 12:00:00.123",pattern="yyyy-MM-dd HH:mm:ss",zone=ZoneId.of("UTC")
    • 预期输出:抛出DateTimeParseException
    • 测试目的:验证严格模式下的精确匹配
    • 优先级:中

测试注意事项

  • 固定系统默认时区为UTC,确保zone为null场景结果可预测。
  • 确保使用与生产一致的严格解析行为(不接受24:00、非法闰日、模式不符、长度不足的数字时间戳)。
  • 并发测试需配置足够线程与迭代次数,避免JIT预热影响,验证无竞态与结果一致性。
  • 比较LocalDateTime时包含纳秒部分,以验证小数秒的保留与转换准确性。

方法基本信息

  • 方法名称:calculatePayable
  • 所属类:未提供
  • 方法描述:依据商品原价、运费与优惠券计算应付金额(不含税),支持叠加与舍入控制,返回保留2位小数的BigDecimal

测试用例总览

  • 用例数量:18
  • 覆盖场景类型统计:
    • 正常场景:3
    • 边界条件:8
    • 异常情况:7

详细测试用例

  • 用例编号:TC-01

    • 测试场景描述:允许叠加;按 THRESHOLD -> PERCENT -> FIXED 顺序应用
    • 输入参数:
      • listPrice=100.00
      • shipping=10.00
      • coupons=[THRESHOLD(threshold=50.00, amount=5.00), PERCENT(rate=0.20), FIXED(amount=3.00)]
      • allowStack=true
      • rm=HALF_UP
    • 预期输出:83.00
    • 测试目的:验证叠加顺序与结果计算正确性
    • 优先级:高
  • 用例编号:TC-02

    • 测试场景描述:不允许叠加;选择单张最优券
    • 输入参数:
      • listPrice=100.00
      • shipping=10.00
      • coupons=[THRESHOLD(threshold=50.00, amount=5.00), PERCENT(rate=0.20), FIXED(amount=3.00)]
      • allowStack=false
      • rm=HALF_UP
    • 预期输出:90.00
    • 测试目的:验证非叠加时最小应付金额的单券选择
    • 优先级:高
  • 用例编号:TC-03

    • 测试场景描述:无优惠券
    • 输入参数:
      • listPrice=49.99
      • shipping=0.00
      • coupons=[]
      • allowStack=true
      • rm=HALF_UP
    • 预期输出:49.99
    • 测试目的:验证无券场景结果正确
    • 优先级:高
  • 用例编号:TC-04

    • 测试场景描述:门槛不满足的满减券不生效
    • 输入参数:
      • listPrice=40.00
      • shipping=5.00
      • coupons=[THRESHOLD(threshold=50.00, amount=10.00)]
      • allowStack=true
      • rm=HALF_UP
    • 预期输出:45.00
    • 测试目的:验证门槛未达时不应用满减
    • 优先级:中
  • 用例编号:TC-05

    • 测试场景描述:固定立减超额时不小于0(下限为0)
    • 输入参数:
      • listPrice=20.00
      • shipping=7.50
      • coupons=[FIXED(amount=30.00)]
      • allowStack=true
      • rm=HALF_UP
    • 预期输出:7.50
    • 测试目的:验证负值保护(商品部分不低于0)
    • 优先级:高
  • 用例编号:TC-06

    • 测试场景描述:百分比折扣100%(rate=1)
    • 输入参数:
      • listPrice=12.34
      • shipping=0.00
      • coupons=[PERCENT(rate=1.00)]
      • allowStack=false
      • rm=HALF_UP
    • 预期输出:0.00
    • 测试目的:验证极端百分比折扣处理
    • 优先级:中
  • 用例编号:TC-07

    • 测试场景描述:金额精度(百分比产生多位小数,HALF_UP)
    • 输入参数:
      • listPrice=10.01
      • shipping=0.00
      • coupons=[PERCENT(rate=0.15)]
      • allowStack=false
      • rm=HALF_UP
    • 预期输出:8.51
    • 测试目的:验证最终结果保留2位小数(HALF_UP)
    • 优先级:高
  • 用例编号:TC-08

    • 测试场景描述:金额精度(百分比产生多位小数,DOWN)
    • 输入参数:
      • listPrice=10.01
      • shipping=0.00
      • coupons=[PERCENT(rate=0.15)]
      • allowStack=false
      • rm=DOWN
    • 预期输出:8.50
    • 测试目的:验证最终结果保留2位小数(DOWN)
    • 优先级:高
  • 用例编号:TC-09

    • 测试场景描述:运费导致的0.005临界值舍入(HALF_UP)
    • 输入参数:
      • listPrice=1.00
      • shipping=0.005
      • coupons=[]
      • allowStack=true
      • rm=HALF_UP
    • 预期输出:1.01
    • 测试目的:验证最终总额舍入对运费小数临界值的影响(HALF_UP)
    • 优先级:中
  • 用例编号:TC-10

    • 测试场景描述:运费导致的0.005临界值舍入(DOWN)
    • 输入参数:
      • listPrice=1.00
      • shipping=0.005
      • coupons=[]
      • allowStack=true
      • rm=DOWN
    • 预期输出:1.00
    • 测试目的:验证最终总额舍入对运费小数临界值的影响(DOWN)
    • 优先级:中
  • 用例编号:TC-11

    • 测试场景描述:0元商品叠加满减与百分比,金额不为负
    • 输入参数:
      • listPrice=0.00
      • shipping=5.99
      • coupons=[THRESHOLD(threshold=0.00, amount=5.00), PERCENT(rate=0.50)]
      • allowStack=true
      • rm=HALF_UP
    • 预期输出:5.99
    • 测试目的:验证0元商品下各类券不致使应付金额为负
    • 优先级:中
  • 用例编号:TC-12

    • 测试场景描述:listPrice 为 null
    • 输入参数:
      • listPrice=null
      • shipping=0.00
      • coupons=[]
      • allowStack=true
      • rm=HALF_UP
    • 预期输出:抛出 NullPointerException
    • 测试目的:验证null参数校验(listPrice)
    • 优先级:高
  • 用例编号:TC-13

    • 测试场景描述:coupons 为 null
    • 输入参数:
      • listPrice=1.00
      • shipping=0.00
      • coupons=null
      • allowStack=false
      • rm=HALF_UP
    • 预期输出:抛出 NullPointerException
    • 测试目的:验证null参数校验(coupons)
    • 优先级:高
  • 用例编号:TC-14

    • 测试场景描述:listPrice 为负值
    • 输入参数:
      • listPrice=-0.01
      • shipping=0.00
      • coupons=[]
      • allowStack=true
      • rm=HALF_UP
    • 预期输出:抛出 IllegalArgumentException
    • 测试目的:验证非负约束(listPrice)
    • 优先级:高
  • 用例编号:TC-15

    • 测试场景描述:shipping 为负值
    • 输入参数:
      • listPrice=0.00
      • shipping=-1.00
      • coupons=[]
      • allowStack=false
      • rm=HALF_UP
    • 预期输出:抛出 IllegalArgumentException
    • 测试目的:验证非负约束(shipping)
    • 优先级:高
  • 用例编号:TC-16

    • 测试场景描述:非法券参数——百分比大于1
    • 输入参数:
      • listPrice=100.00
      • shipping=0.00
      • coupons=[PERCENT(rate=1.20)]
      • allowStack=false
      • rm=HALF_UP
    • 预期输出:抛出 IllegalArgumentException
    • 测试目的:验证PERCENT的有效范围(0<rate<=1)
    • 优先级:高
  • 用例编号:TC-17

    • 测试场景描述:非法券参数——固定立减金额不大于0
    • 输入参数:
      • listPrice=10.00
      • shipping=0.00
      • coupons=[FIXED(amount=0.00)]
      • allowStack=true
      • rm=HALF_UP
    • 预期输出:抛出 IllegalArgumentException
    • 测试目的:验证FIXED的有效范围(amount>0)
    • 优先级:高
  • 用例编号:TC-18

    • 测试场景描述:非法券参数——满减门槛或金额非法
    • 输入参数:
      • listPrice=10.00
      • shipping=0.00
      • coupons=[THRESHOLD(threshold=-1.00, amount=10.00)]
      • allowStack=true
      • rm=HALF_UP
    • 预期输出:抛出 IllegalArgumentException
    • 测试目的:验证THRESHOLD的有效范围(threshold>=0 且 amount>0)
    • 优先级:高

测试注意事项

  • BigDecimal入参与期望值建议使用字符串构造以避免二进制精度误差,断言时校验值与scale=2。
  • 优惠券列表顺序应与输入一致;叠加时按类型顺序 THRESHOLD -> PERCENT -> FIXED 应用。
  • 仅在最终结果设置保留2位小数并使用指定RoundingMode进行舍入。
  • 验证异常用例时仅断言异常类型,不进行结果断言。

示例详情

解决的问题

把“给出一个Java方法信息”这件事,直接变成“拿到可落地、可评审、可复用的测试用例说明”。通过一键生成结构化的案例描述,覆盖主流程、边界与异常,统一团队测试文档格式,用于代码评审、持续集成和知识库沉淀。目标是让个人开发者和团队在几分钟内完成原本需要数小时的测试用例设计,显著提升测试覆盖率与交付质量,缩短上线周期,促使从免费试用快速过渡到团队付费。

适用用户

Java开发工程师

基于方法信息一键生成完整测试用例描述,快速补齐正常、边界与异常场景,提升单元测试质量并加速提测。

测试工程师/QA

将零散需求转为标准化测试文档,用于测试设计评审、用例维护与复用,系统性提升场景覆盖与缺陷预防。

技术负责人/架构师

用统一模板审视功能的测试充分性,识别盲点与风险,制定团队测试规范并在迭代中持续跟踪改进。

特征总结

基于方法信息与逻辑,轻松生成结构完备的测试用例描述,覆盖核心路径,缩短编写时间。
自动识别边界值与异常场景,一键补齐易漏测试点,帮助团队降低线上风险与返工。
按标准格式输出测试文档,总览与细节清晰可查,方便评审、交付与持续迭代管理。
支持多种测试深度与偏好设置,灵活适配企业项目、开源协作与教学练习等不同场景。
从输入到预期结果全链路梳理,一键生成用例编号、目的与优先级,便于分配与追踪。
智能提示潜在缺陷与盲点,自动优化场景覆盖比例,让单元测试更加稳健与具备说服力。
与研发流程轻松衔接,生成内容可直接用于评审、流程检查与知识沉淀,减少沟通成本。
模板化配置与参数化输入,复用团队规范,一键批量生成不同方法的测试用例说明。

如何使用购买的提示词模板

1. 直接在外部 Chat 应用中使用

将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。

2. 发布为 API 接口调用

把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。

3. 在 MCP Client 中配置使用

在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。

AI 提示词价格
¥20.00元
先用后买,用好了再付款,超安全!

您购买后可以获得什么

获得完整提示词模板
- 共 594 tokens
- 3 个可调节参数
{ 方法详细信息 } { 测试深度要求 } { 输出格式偏好 }
获得社区贡献内容的使用权
- 精选社区优质案例,助您快速上手提示词
使用提示词兑换券,低至 ¥ 9.9
了解兑换券 →
限时半价

不要错过!

半价获取高级提示词-优惠即将到期

17
:
23
小时
:
59
分钟
:
59