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