Во время тестирования для значения сообщения от выброшенных сообщения исключений, как это:Не отображать StackTrace брошенных сообщения исключений в тесте JUnit
public void mustFailIfTheActionDoesNotExist() {
try {
getAction(UUID.randomUUID().toString());
fail("Must fail if the action does not exists");
} catch (MyException ex) {
Assert.assertEquals("Exception generated on action", ex.getMessage());
}
исключения и их StackTrace видно на терминале. Поскольку у меня есть сотни классов в моем проекте, терминал просто становится длинным списком stacktraces сообщений об исключениях.
Есть ли способ подавить вывод стека вывода исключений на экран/терминал при выполнении тестов Junit?
PS: Я не хочу подавлять регистрацию для всех модульных тестов, как раз в конкретных случаях.
Вы можете закрыть выходной поток, но вам нужно будет его снова открыть в конце этого тестового примера. – AxelH
Это похоже на то, что вы говорите: http: // stackoverflow. ком/а/33871861/3285138. Но мне жаль, что я не могу просто отключить stacktrace, поскольку это тот, который в основном занимает пространство. – goelakash
Хорошо, что вы используете для регистрации? Вы можете перенаправить потоки с помощью 'System.setOut (PrintStream)' и 'System.setErr (PrintStream)'. Сохраните их где-нибудь, затем переопределите их в файл (чтобы сохранить дорожки) или закройте их, чтобы скрыть все. Затем в конце сбросьте сохраненный экземпляр в экземпляр системы. – AxelH