Я пишу некоторый код, который перестанет работать после 19 января 2038 года из-за Year_2038_problem при переполнении java Date
, поэтому я мог бы создать тест junit, который в 2036 году начнет давать сбой, чтобы дать мне 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);
}
Любые подсказки, почему это не подводит?
Я использую Android-Studio-3.4.1 с java-1.8.0_152 (64-разрядная версия) с 'junit: junit: 4.12' и 'androidx.test: runner: 1.1.0'