JodaTime - Test about dates fails randomly
本问题已经有最佳答案,请猛点这里访问。
我有这个代码:
1 2 3 4 5 6 | public static int getDaysBetween(Date dateA, Date dateB) { return Days.daysBetween( new DateTime(dateA), new DateTime(dateB)) .getDays(); } |
这个测试案例:
1 2 3 4 5 6 | @Test public void test() { Date dateFrom = buildDate(10, Calendar.JANUARY, 2018); Date dateTo = buildDate(1, Calendar.JANUARY, 2018); assertEquals(DateUtils.getDaysBetween(dateFrom, dateTo), -9); } |
大多数测试都通过了,但随机失败。有时,
怎么了?这是什么jodatime bug吗?
从技术上讲,这不是一个虫子,只是一个烦恼。结果发现你的两天之间的差额没有达到一天,它返回0。如果你有1.99999天,它会返回1。
有一篇关于类似问题的文章可以帮助你