我正在编写一些代码,这些代码将在 2038 年 1 月 19 日之后停止工作,因为java 溢出时的Year_2038_problemDate
所以我想我可以创建一个在 2036 年开始失败的 junit 测试,给我 2 年的时间来修复它。
为了首先创建一个失败的测试,我添加了 25 年,并且对测试没有失败感到惊讶。
@Test
public void warn2038Overflow() {
Calendar c = Calendar.getInstance();
c.add(Calendar.YEAR, 25);
// today is 2019 plus 25 years becomes 2044 which should overflow
assertEquals("No calendar overflow", true,
c.getTimeInMillis() > 0l);
}
任何线索为什么这不会失败?
我正在使用带有 java-1.8.0_152(64 位)的 Android-Studio-3.4.1 和 'junit:junit:4.12' 和 'androidx.test:runner:1.1.0'