TestNG AssertEquals加倍 - 好的数字换成双倍?

时间:2017-02-17 16:06:15

标签: java testng assertions

使用TestNG的Assert.assertEquals(double expected, double actual, double delta),使用以下数字用于delta的好数字(由于没有delta,断言失败)

AssertionError: expected [121.97] but found [121.96999999999998]

我尝试使用1.01.001,但所有三个都通过了。我想保持成功的补贴非常小(换句话说,如果“实际数字”(从我的观点来看)是121.97和121.96我希望测试失败。谢谢!

1 个答案:

答案 0 :(得分:3)

如果您希望121.97121.96的测试失败... 尝试使用小于
的delta |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|的delta。