Tengo una función que usa la hora actual para hacer algunos cálculos. Me gustaría burlarlo usando mockito.Cómo simular una nueva Fecha() en Java usando Mockito
Un ejemplo de la clase que me gustaría probar:
public class ClassToTest {
public long getDoubleTime(){
return new Date().getTime()*2;
}
}
me gustaría algo así como:
@Test
public void testDoubleTime(){
mockDateSomeHow(Date.class).when(getTime()).return(30);
assertEquals(60,new ClassToTest().getDoubleTime());
}
¿Es posible burlarse de eso? No me gustaría cambiar el código "probado" para poder probarlo.
¿Por qué no cambiarías el código probado? El código que es más comprobable generalmente está más débilmente acoplado ... ¿por qué no querrías eso? – blank
posible duplicado de [Ignorar Java System.currentTimeMillis] (http://stackoverflow.com/questions/2001671/override-java-system-currenttimemillis) –
... y otra cosa: cambiar el código 'probado' es fácil - usted ' Tengo pruebas para decirte cuándo cometiste un error, cambiar el código no probado por otro lado ... necesitas Michael Feathers kung foo;) – blank