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
我正在开发一些东西来保持最旧项目的当前年龄,为了代码覆盖率,我编写了 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:14Actual :08:09:13
我认为原因是动作的顺序有时可能会产生 1 秒的差异。有没有什么办法可以很好地解决这个问题,或者允许测试执行 1 秒的差异?
我该怎么办?
将 delta 参数用于 assertEquals 方法 - 请参阅 this answer and this javadoc