我想知道为什么assertEquals(double, double)
已弃用。
I used 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()
返回双精度值。
可能出什么问题了?
由于双精度问题,它已被弃用。
如果你注意到的话,还有另一种方法assertEquals(double expected, double actual, double delta)
这允许delta
精度损失。
JavaDoc http://junit.sourceforge.net/javadoc/org/junit/Assert.html#assertEquals(double,%20double,%20double):
断言两个双精度数在正增量内相等。如果不是,则会抛出断言错误。如果预期值为无穷大,则忽略增量值。NaN 被视为相等:assertEquals(Double.NaN, Double.NaN, *)
passes
...
delta - 预期和实际之间的最大增量,两个数字仍然被认为是相等的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)