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"});
    }
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta