2017-07-27 107 views
0

我想比较双值与AssertJ。我不明白为什么我的测试失败。AssertJ比较双值

@Test 
public void testInterestToQuote() { 
    double result = BasicCalculator.accumulationFactorByYearsAndInterest(years, interest) 
    Assertions.assertThat(result).isCloseTo(expected, Assertions.offset(0.1d)) 
} 

的例外是:

java.lang.AssertionError: 
Expecting: 
    <7.256571590148141E-5> 
to be close to: 
    <7.25> 
by less than <0.1> but difference was <7.249927434284099>. 
(a difference of exactly <0.1> being considered valid) 

为什么断言失败?

回答

0

昨天晚了,但7.256571590148141E-5不是我想象的那样,7.25 ..,因为E-5将点5移到左边,所以它是0.0000725 ...