gpt4 book ai didi

java - 为什么在 JUnit 中不推荐使用 assertEquals(double,double)?

转载 作者:IT老高 更新时间:2023-10-28 20:32:21 27 4
gpt4 key购买 nike

我想知道为什么不推荐使用 assertEquals(double, double)

我使用了 import static org.junit.Assert.assertEquals; 并且我使用了 JUnit 4.11。

下面是我的代码:

import org.junit.Test;
import static org.junit.Assert.assertEquals;


public class AccountTest {

@Test
public void test() {
Account checking = new Account(Account.CHECKING);
checking.deposit(1000.0);
checking.withdraw(100.0);
assertEquals(900.0, checking.getBalance());
}
}

checking.getBalance() 返回一个 double 值。

可能出了什么问题?

最佳答案

由于 double 问题,它已被弃用。

如果您注意到,还有另一种方法 assertEquals(double expected, double actual, double delta) 允许 delta 精度损失。

JavaDoc :

Asserts that two doubles are equal to within a positive delta. If they are not, an AssertionError is thrown. If the expected value is infinity then the delta value is ignored.NaNs are considered equal: assertEquals(Double.NaN, Double.NaN, *) passes

...

delta - the maximum delta between expected and actual for which both numbers are still considered equal.

关于java - 为什么在 JUnit 中不推荐使用 assertEquals(double,double)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33274030/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com