Когда в тесте JUnit появляется неожиданное событие RuntimeException, на вкладке Результаты тестирования NetBeans отображается имя провала теста, за которым следует трассировка стека.Отображение (неожиданных) сообщений об исключениях в тестах JUnit (Netbeans)
Ex.
someFailedTest caused an ERROR: at (stack trace lines start here)
Не так полезно, как могло бы быть.
В то время как трассировка стека позволяет нам отслеживать, где возникла проблема, было бы неплохо, если бы NB также показывал любое сообщение, сопровождавшее исключение. (Пример «x должен быть> 0, но был -2» или что-то еще.)
Насколько я могу судить, похоже, что данные не доступны. Есть ли способ показать детали исключения, которые мне не хватает?
Я мог бы использовать try/catch или журнал ошибок, но есть ли лучший способ?
Вот пример (поддельный) «тест», который ясно показывает сообщение в Eclipse, но не в NB. Любое понимание приветствуется ... да, я знаю, что это исключение , но это тот же самый тип проблемы.
@Test
public void testTest() {
String file = "test";
File f = new File("../" + file);
if (!f.exists()) {
Assert.fail("File was not found at " + file);
}
}
Edit ... Да, немного запутался сейчас - я видел, что это работает правильно, по крайней мере один или два раза, но я не в состоянии воспроизвести его сейчас. Мне нужно посмотреть, смогу ли я воспроизвести где-нибудь я смогу опубликовать скриншоты позже ...
Редактировать # 2 ... Обнаружено какое-то поведение незнакомцев. Если я сделаю это (который будет моим обходным на сегодняшний день), список результатов испытаний по-прежнему выглядит так же, но я получить хорошее красное и очень полезное сообщение об ошибке в консоли:
String msg = "FXML file was not found at " + file;
System.err.print("test");
Assert.fail(msg);
Но если Я полностью комментирую строку System.err, я ничего не получаю в консоли. Еще более странно, если бы я поставил пустую строку, я до сих пор ничего не получить в консоли вообще (ну, может быть, печать() достаточно умен, чтобы игнорировать пустую строку ..):
String msg = "FXML file was not found at " + file;
System.err.print("");
Assert.fail(msg);
Я не могу воспроизвести проблему вы с описанием на всех, как это описано в моем ответе.Кроме того, я смущен тем, что вы скажете «вкладку результатов тестирования NetBeans», но позже упомяните «консоль». Можете ли вы опубликовать фактический снимок экрана вкладки «Результаты тестирования NetBeans», которую вы видите с помощью точного тестового кода, который вы используете? – DavidS
Я понимаю, что это сбивает с толку, потому что я не могу просто поставить screencap в то же время - попробую получить это сегодня вечером, чтобы это имело смысл. – User