TestNG AssertEquals double - 一个双倍的好数字?

TestNG AssertEquals double - good number to put for a double?

使用 TestNG 的 Assert.assertEquals(double expected, double actual, double delta),使用以下数字(断言失败,因为没有增量)

AssertionError: expected [121.97] but found [121.96999999999998]

我尝试使用 1.01.001,但三个都通过了。我想让成功的余地非常小(换句话说,如果 "actual numbers"(从我的角度来看)是 121.97 和 121.96,我希望测试失败。谢谢!

如果您希望 121.97121.96 的测试失败... 尝试使用小于
的增量 |121.97 - 121.96| = 0.01.
怎么样:

final double DELTA = 0.001;
assertEquals(121.97, 121.96, DELTA);

输出:

java.lang.AssertionError: expected [121.96] but found [121.97]
Expected :121.96
Actual   :121.97

在一般情况下...如果您希望断言因 ab
而失败 使用小于 |a - b|.

的增量