assertEquals(Double, Double)
和 assertEquals(double, double, Delta值)
是 JUnit 测试框架中用于比较两个浮点数是否相等的方法。由于浮点数的精度问题,直接比较两个浮点数是否完全相等通常是不准确的,因此 JUnit 提供了带 Delta 值的比较方法来处理这种情况。
Double
对象是否相等。Double
对象的值完全相同,则测试通过。double
类型的值是否在指定的误差范围内相等。Delta值
是一个正数,表示允许的最大误差范围。double
值的差的绝对值小于或等于 Delta值
,则测试通过。Double
对象的比较。double
基本数据类型的比较。Double
对象的值完全相等时使用。import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
public class DoubleComparisonTest {
@Test
public void testDoubleEquality() {
Double a = 1.0;
Double b = 1.0;
assertEquals(a, b); // 这里会通过,因为 a 和 b 的值完全相同
}
@Test
public void testDoubleWithDelta() {
double x = 0.1 + 0.2;
double y = 0.3;
double delta = 0.0001;
assertEquals(x, y, delta); // 这里会通过,因为 x 和 y 的差值在 delta 范围内
}
}
通过使用 assertEquals(double, double, Delta值)
方法,你可以更好地处理浮点数的精度问题,确保测试结果的准确性和可靠性。
领取专属 10元无门槛券
手把手带您无忧上云