在我们写测试用例时,难免要对各种数据类型是否相等进行判断。前几天在对两个double类型利
用aseertEquals进行判断时,遇到了下面的问题:精简化问题如下:
在这个例子中double类型h与y的值都为0.1,但assertEquals测试没通过,同时有一条warning
The method assertEquals(double, double) from the type Assert is deprecated
这条warning的意思是类型Assert中的方法assertEquals(double,double)已弃用。
其实我们都直到浮点型的存储形式,因为浮点数的范围和精度有限,所有直接判断两个double类
型是否相等是不合理的,以此我们利用下面的方法解决这个问题:
java中提供了解决double判断的方法其中assertEquals的第一个参数为预期值,第二个参数为实
际值,第三个参数为偏差。当预期值与实际值之间的差值在偏差的范围内则判为相等,否则会抛出
错误。