单元测试,如果差值不大于 1,则断言等于

问题描述

我是单元测试的新手。我使用 Junit4,我必须比较两个双数。但如果差值不大于 1,则应该通过。 例如:

Assert.assertEquals(240,241); //should pass
Assert.assertEquals(240,239); //should pass

Assert.assertEquals(240,242); //should fail
Assert.assertEquals(240,238); //should fail

有办法实现吗?

解决方法

阅读the method you have used的javadoc:

<div *ngIf="condition; else elseBlock">Content to render when condition is true.</div>
<ng-template #elseBlock>Content to render when condition is false.</ng-template>

已弃用。改用 assertEquals(double expected,double actual,double epsilon)

它告诉您此方法已弃用。 更友好的是,它告诉 what better method 改为使用。

@Deprecated`  
public static void assertEquals(double expected,double actual)

断言两个双精度或浮点数在正增量内相等。

你看,这个方法完全符合你的需要。所以你可以简单地使用:

public static void assertEquals(double expected,double delta)
,

除了@Nikolai Shevchenko 建议使用 Assert.assertEquals(a,b,1.0);

也请检查assertTrue

Assert.assertTrue(Math.abs(240 - 241) <= 1)