Scala: ¿Cómo probar los métodos que llaman a System.exit ()?
He estado desarrollando una herramienta de línea de comandos que llamaSystem.exit()
(no quiero usar excepciones en lugar de) en ciertas entradas.
estoy familiarizado conJava: ¿Cómo probar métodos que llaman a System.exit ()? y es el más eleganteacercarse a, aproximarse.
Desafortunadamente, no es lo suficientemente puro, debido a que tuve que agregar las dependencias areglas del sistema, interfaz junit
¿Hay algún patrón común para lidiar conSystem.exit
enespecificaciones2 que es más puro que mi enfoque actual que no usoespecificaciones2?
import org.junit.Rule;
import org.junit.Test;
import org.junit.contrib.java.lang.system.ExpectedSystemExit;
public class ConverterTest {
@Rule
public final ExpectedSystemExit exit = ExpectedSystemExit.none();
@Test
public void emptyArgs() {
exit.expectSystemExit();
Converter.main(new String[]{});
}
@Test
public void missingOutArgument() {
exit.expectSystemExitWithStatus(1);
Converter.main(new String[]{"--in", "src/test/resources/078.xml.gz"});
}
}