JUnit тестируют на System.out.println ()

Это - то, что я использовал:

::Date Variables - replace characters that are not legal as part of filesystem file names (to produce name like "backup_04.15.08.7z")
SET DT=%date%
SET DT=%DT:/=.%
SET DT=%DT:-=.%

, Если Вы хотите дальнейшие идеи для автоматизации резервных копий на архивы С 7 zip, у меня есть свободный/открытый проект, который можно использовать или рассмотреть для идей: http://wittman.org/ziparcy/

344
задан Bonifacio2 19 April 2015 в 13:28
поделиться

2 ответа

с использованием ByteArrayOutputStream и System.setXXX прост:

private final ByteArrayOutputStream outContent = new ByteArrayOutputStream();
private final ByteArrayOutputStream errContent = new ByteArrayOutputStream();
private final PrintStream originalOut = System.out;
private final PrintStream originalErr = System.err;

@Before
public void setUpStreams() {
    System.setOut(new PrintStream(outContent));
    System.setErr(new PrintStream(errContent));
}

@After
public void restoreStreams() {
    System.setOut(originalOut);
    System.setErr(originalErr);
}

примеры тестов: Предыдущие версии этого ответа после тестов назывались System.setOut (null) ; Это причина того, что комментаторы ссылаются на NullPointerExceptions.

542
ответ дан 23 November 2019 в 00:31
поделиться

Вы можете установить поток печати System.out с помощью setOut () (и для в и err ). Можете ли вы перенаправить это в поток печати, который записывает строку, а затем проверить это? Это может показаться простейшим механизмом.

(Я бы посоветовал на каком-то этапе преобразовать приложение в некую структуру ведения журналов, но я подозреваю, что вы уже знаете об этом!)

22
ответ дан 23 November 2019 в 00:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: