`

JUnit 单元测试 double类型断言异常

 
阅读更多

今天在写单元测试时,用到对double类型进行断言相等时出现的问题

代码:Assert.assertEquals(1.0, 1.0);

异常:

       java.lang.AssertionError: Use assertEquals(expected, actual, delta) to compare floating-point numbers
    ... ...

       附加源码

       static public void assertEquals(double expected, double actual) {
        assertEquals(null, expected, actual);
    }

       static public void assertEquals(String message, double expected, double actual) {
        fail("Use assertEquals(expected, actual, delta) to compare floating-point numbers");
    }

       从以上的代码可以看出JUnit本身不支持double类型的等值断言。

 

       所以解决的办法就是Assert.assertEquals((Double) 1.0, (Double) 1.0); 强转成 long类型

 

      但是还不知道为什么JUnit的这么简单的断言都不实现呢? 请高手解答

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics