Estoy buscando una forma de verificar con Mockito, que no hubo interacción con un simulacro determinado durante una prueba. Es fácil lograr eso para un método dado con el modo de verificación never()
, pero todavía no he encontrado una solución para el simulacro completo.Mockito: cómo verificar que nunca se invocó un simulacro
Lo que realmente quiero lograr: verificar en las pruebas, que nada se imprima en la consola. La idea general con jUnit va así:
private PrintStream systemOut;
@Before
public void setUp() {
// spy on System.out
systemOut = spy(System.out);
}
@After
public void tearDown() {
verify(systemOut, never()); // <-- that doesn't work, just shows the intention
}
Un PrintStream
tiene toneladas de métodos y realmente no quieren para verificar todos y cada uno por separado con verificar - y lo mismo para System.err
...
Así que espero, si hay una solución fácil, que puedo, dado que tengo una buena cobertura de prueba, forzar a los ingenieros de software (y a mí) a eliminar su (mi) código de depuración como System.out.println("Breakpoint#1");
o e.printStacktrace();
antes de confirmar los cambios.
Parece lo mejor que puedo hacer para este enfoque. ¡Gracias! (En realidad, he ocultado la mayor parte de la lógica en una clase auxiliar y también tuve que silenciar el registrador;)) –