用途:为 Java 单元测试提供系统化的边界条件、极端情况与限值测试模式,基于 JUnit 5 与 AssertJ,覆盖数值边界、字符串边界、集合状态、浮点精度、日期时间限值与数组索引等场景。
主要能力:识别边界(数值 MIN_VALUE/MAX_VALUE/零、字符串 null/空/空白、集合大小 0/1/多);用 @ParameterizedTest 配合 @ValueSource 或 @CsvSource 覆盖多组边界值;测试边界两侧(略低、等于、略高);用 AssertJ 的 isCloseTo(expected, within(tolerance)) 校验浮点精度;显式测试空、单元素、多元素集合;用 Math.addExact() 与 Math.subtractExact() 检测溢出与下溢;验证闰年、月份边界与时区切换;根据失败用例迭代发现新的未测边界。
使用方式:需引入 junit-jupiter、junit-jupiter-params、assertj-core。按“识别边界—参数化测试—测试两侧—逐类运行—按失败迭代”的流程编写测试。
适用场景:Java 项目中对数值运算、字符串处理、集合操作、浮点计算、日期时间与数组访问进行边界与极端情况验证。
限制与注意:整数溢出应使用 Math.addExact() 检测;浮点不可用精确相等,须用容差断言;NaN != NaN,应使用 Float.isNaN() 或 Double.isNaN();大集合测试需注意内存;字符串应测试 Unicode 以覆盖国际化;日期时间需考虑时区与夏令时;数组索引应测试 0、length-1 与越界。具体安装命令与版本信息暂未提供。