Al utilizar Mockito, sólo lo uso para burlarse a cabo las dependencias, es decir, mi flujo de trabajo se ve sobre todo como esto:Mockito - Sensación de que yo no uso todo su potencial
tengo una clase con dependencias:
public class C {
public C (A a, B b) {
this.a = a;
this.b = b;
}
public String fooBar() {
return a.foo() + b.bar();
}
}
En mi clase de prueba, me burlo a cabo esas dependencias, y les digo que valora a regresar cuando se llama a algunos métodos especificados:
public class CSpec {
private A a = mock(A.class);
private B b = mock(B.class);
@Test
public itShouldReturnFooBar() {
when(a.foo()).thenReturn("foo");
when(b.bar()).thenReturn("bar");
C c = new C(a, b);
assertThat(c.fooBar().isEqualTo("foobar"));
}
}
(espero que este ejemplo no es demasiado simple o demasiado deriv ed ;-)). Esto funciona bien, me permite probar clases (aquí: C) de forma aislada. Aún así, nunca uso los métodos verify
de Mockito ni ninguna de sus características. ¿Está bien/es suficiente usar Mockito de esta manera?
¿Pero realmente me compra algo? ¿No está revisando el valor devuelto lo suficiente? – helpermethod
¿Qué pasa si su método no devuelve un valor? – blank
En su caso muy simple, sí, pero en muchos casos, verificar que realmente se llama algo durante la ejecución de un método complejo es exactamente lo que quiere. – vertti