JUnit:允许预期和实际之间有 1 秒的差异

JUnit: allow 1 second difference between expected and actual

我正在开发一些东西来保持最旧项目的当前年龄,为了代码覆盖率,我编写了 JUnit 测试。

因此,当我编写单元测试时,我会执行以下操作:

currentAge = resultSet.getTime(4);
Calendar cal = Calendar.getInstance();
        Assert.assertEquals(new Time(cal.get(Calendar.HOUR_OF_DAY) - 1,cal.get(Calendar.MINUTE) - 30,Calendar.SECOND), currentAge);

这确实有效,但我有时会遇到此测试失败

junit.framework.AssertionFailedError:
Expected :08:09:14

Actual :08:09:13

我认为原因是动作的顺序有时可能会产生 1 秒的差异。有没有什么办法可以很好地解决这个问题,或者允许测试执行 1 秒的差异?

我该怎么办?

将 delta 参数用于 assertEquals 方法 - 请参阅 this answer and this javadoc