【问题标题】:TestNG AssertEquals double - good number to put for a double?TestNG AssertEquals double - 加倍的好数字?
【发布时间】:2017-07-07 05:47:49
【问题描述】:

使用 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,我希望测试失败。谢谢!

【问题讨论】:

    标签: java testng assertions


    【解决方案1】:

    如果您希望 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| 的增量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-06
      • 2018-08-16
      • 2011-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-08
      相关资源
      最近更新 更多