У меня проблема с насмешкой над Calendar.getInstance()
. Как вы сейчас, этот метод возвращает календарь - объект, над которым я издеваюсь.
Прямо сейчас мой код выглядит так:
@RunWith(PowerMockRunner.class)
@PrepareForTest(Calendar.class)
public class SurveillanceDatabaseTest {
@Test
public void testFailingDatabase() throws Exception {
mockStatic(Calendar.class);
Calendar calendar = new GregorianCalendar();
calendar.add(Calendar.HOUR, 1);
when(Calendar.getInstance()).thenReturn(calendar);
final Surveillance surveillance = new Surveillance();
surveillance.checkDatabase();
}
}
Calendar.getInstance()
вызывается в surveillance.checkDatabase()
несколько раз, и каждый раз это новый объект, а не ожидаемая имитация Calendar.
Может ли кто-нибудь увидеть, что я делаю неправильно?