×
¥
查看详情
🔥 会员专享 文生文 其它

Java测试用例描述生成器

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

🎯 可自定义参数(3个)

方法详细信息
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进行舍入。
  • 验证异常用例时仅断言异常类型,不进行结果断言。

示例详情

📖 如何使用

30秒出活:复制 → 粘贴 → 搞定
与其花几十分钟和AI聊天、试错,不如直接复制这些经过千人验证的模板,修改几个 {{变量}} 就能立刻获得专业级输出。省下来的时间,足够你轻松享受两杯咖啡!
加载中...
💬 不会填参数?让 AI 反过来问你
不确定变量该填什么?一键转为对话模式,AI 会像资深顾问一样逐步引导你,问几个问题就能自动生成完美匹配你需求的定制结果。零门槛,开口就行。
转为对话模式
🚀 告别复制粘贴,Chat 里直接调用
无需切换,输入 / 唤醒 8000+ 专家级提示词。 插件将全站提示词库深度集成于 Chat 输入框。基于当前对话语境,系统智能推荐最契合的 Prompt 并自动完成参数化,让海量资源触手可及,从此彻底告别"手动搬运"。
即将推出
🔌 接口一调,提示词自己会进化
手动跑一次还行,跑一百次呢?通过 API 接口动态注入变量,接入批量评价引擎,让程序自动迭代出更高质量的提示词方案。Prompt 会自己进化,你只管收结果。
发布 API
🤖 一键变成你的专属 Agent 应用
不想每次都配参数?把这条提示词直接发布成独立 Agent,内嵌图片生成、参数优化等工具,分享链接就能用。给团队或客户一个"开箱即用"的完整方案。
创建 Agent

✅ 特性总结

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

🎯 解决的问题

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

🕒 版本历史

当前版本
v2.1 2024-01-15
优化输出结构,增强情节连贯性
  • ✨ 新增章节节奏控制参数
  • 🔧 优化人物关系描述逻辑
  • 📝 改进主题深化引导语
  • 🎯 增强情节转折点设计
v2.0 2023-12-20
重构提示词架构,提升生成质量
  • 🚀 全新的提示词结构设计
  • 📊 增加输出格式化选项
  • 💡 优化角色塑造引导
v1.5 2023-11-10
修复已知问题,提升稳定性
  • 🐛 修复长文本处理bug
  • ⚡ 提升响应速度
v1.0 2023-10-01
首次发布
  • 🎉 初始版本上线
COMING SOON
版本历史追踪,即将启航
记录每一次提示词的进化与升级,敬请期待。

💬 用户评价

4.8
⭐⭐⭐⭐⭐
基于 28 条评价
5星
85%
4星
12%
3星
3%
👤
电商运营 - 张先生
⭐⭐⭐⭐⭐ 2025-01-15
双十一用这个提示词生成了20多张海报,效果非常好!点击率提升了35%,节省了大量设计时间。参数调整很灵活,能快速适配不同节日。
效果好 节省时间
👤
品牌设计师 - 李女士
⭐⭐⭐⭐⭐ 2025-01-10
作为设计师,这个提示词帮我快速生成创意方向,大大提升了工作效率。生成的海报氛围感很强,稍作调整就能直接使用。
创意好 专业
COMING SOON
用户评价与反馈系统,即将上线
倾听真实反馈,在这里留下您的使用心得,敬请期待。
加载中...
📋
提示词复制
在当前页面填写参数后直接复制: