PowerMocking estático não retorna o objeto esperado
Eu tenho um problema zombandoCalendar.getInstance()
. Como você agora, este método retorna um calendário - o objeto que estou zombando.
Agora meu código se parece com isso:
@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()
é chamado várias vezes emsurveillance.checkDatabase()
e toda vez que é um objeto novo e não a simulação esperada do Calendário.
Alguém pode ver o que estou fazendo errado?