@Kentaro23

Как покрыть тестом try/catch при помощи JUNIT4?

Добрый день! Idea подсвечивает этот кусок как не покрытый тестом
} catch (Throwable e) {
                        System.out.println("An exception has occurred while trying to get logger. Stack trace: "
                                        + ExceptionUtils.getStackTrace(e));
                    }
Тест сделал но idea всё равно показывает его как не покрытым тестом вот кусок теста, просьба помочь может я не правильно делаю
Assert.fail("An exception has occurred while trying to get logger. Stack trace: ");

        } catch (Throwable e) {
            assertTrue(e instanceof Throwable);
            System.out.println("An exception has occurred while trying to get logger. Stack trace: "
                    + ExceptionUtils.getStackTrace(e));
            Assert.assertNotEquals("", "An exception has occurred while trying to get logger. Stack trace: "
                    + ExceptionUtils.getStackTrace(e));

        }
  • Вопрос задан
  • 348 просмотров
Решения вопроса 1
@aol-nnov
мусье документацию на жэ-юнит четыре читали?

https://junit.org/junit4/faq.html#atests_7

@Test(expected = MyMegaException.class)
public void testIfItBroke() {
    MyClass mega;
    mega.methodThatThrows(wrong params);
}


и, да, я бы использовал что-то более специфичное, чем Throwable.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
driversti
@driversti
Кратко о себе
Стесняюсь спросить: зачем тестировать данный блок кода? Ради 100% или чтобы Идея не подсвечивала?
Бытует мнение, что тестировать нужно бизнес логику и скользкие моменты в частности.
Более того, ошибка вашего примера теста в том, что
ExceptionUtils.getStackTrace(e)
в коде и тесте скорее всего будут разные, поэтому тест не выполниться. Это на будущее
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Хабаровск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект