Scala: Как проверить методы, которые вызывают System.exit ()?

Я разрабатывал инструмент командной строки, который вызываетSystem.exit() (не хочу использовать исключения вместо) на определенных входах.

Я знаком сJava: Как проверить методы, которые вызывают System.exit ()? и это самый элегантныйподход.

К сожалению, он недостаточно чистый, потому что мне пришлось добавить зависимостиСистема-правила, JUnit-интерфейс

Есть ли какая-то общая картина для борьбы сSystem.exit вspecs2 который является более чистым, чем мой нынешний подход, который не используетspecs2?

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

Ответы на вопрос(2)

Ваш ответ на вопрос