Java中的边界案例测试

时间:2011-04-14 09:16:36

标签: java testing boundary

是否有任何JUnit或Java实践工具可以准确测试“小于”和“大于”等边界案例测试?

例如,将货币价值四舍五入到最接近的分数。 测试0.005轮到0.01是很容易的。 测试< 0.005回合不是(严格来说)。

我显然可以测试像0.0049这样的任意值,但这并不能保证像0.00499这样的另一个值不会被四舍五入。是否有一个常量或其他什么保证数值是最接近的可能表示为“小于”或“大于”正在执行的环境?

2 个答案:

答案 0 :(得分:3)

Math.nextAfter (0.005, 0)

  

返回浮点数   与第一个参数相邻   第二个论点的方向。如果   这两个论点的比较均等   返回第二个参数。

http://download.oracle.com/javase/6/docs/api/java/lang/Math.html#nextAfter%28double,%20double%29

答案 1 :(得分:1)

可能这取决于很多因素。对于货币值,您应该始终使用BigDecimal,因为它可以让您完全控制精度(例如doublefloat,即使对于简单值也可以给出奇数结果)