gpt4 book ai didi

java - 在 JUnit 测试中,如何在不考虑它们的类型的情况下断言两个数字相等?

转载 作者:行者123 更新时间:2023-11-29 03:25:43 24 4
gpt4 key购买 nike

我想做的一个例子:

double delta = 0.000001d;
Number myNumber = resultOfSomeTestExecution();
Assert.assertEquals(5, myNumber, delta);

我想断言结果是 5,或者在合理的增量区间内至少接近 5,但我不关心它是 Integer、Long、Double、BigDecimal 还是其他任何类型。是否有断言库可以做到这一点?

最佳答案

每个 Number 实例都有一个 doubleValue() 方法,您可以将其应用于测试执行的结果。

double delta = 0.000001d;
Number myNumber = resultOfSomeTestExecution();
Assert.assertEquals(5, myNumber.doubleValue(), delta);

Number#doubleValue() 是一个有效的选择,因为在处理整数和 float 时不会丢失精度。

关于java - 在 JUnit 测试中,如何在不考虑它们的类型的情况下断言两个数字相等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21165082/

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