Тест ожидаемого исключения JUnit: @Test (ожидается)

Содержание:

Anonim

JUnit предоставляет возможность отслеживать исключение, а также проверять, генерирует ли код ожидаемое исключение или нет.

Junit4 предоставляет простой и понятный способ тестирования исключений, вы можете использовать

  • Необязательный параметр (ожидаемый) аннотации @test и
  • Для отслеживания информации можно использовать "fail ()"

Во время тестирования исключения вам необходимо убедиться, что класс исключения, который вы указываете в необязательном параметре аннотации @test, такой же. Это связано с тем, что вы ожидаете исключения от метода, в котором вы выполняете модульное тестирование, иначе наш тест JUnit завершится неудачно.

Пример @ Test (ожидается = IllegalArgumentException.class)

Используя «ожидаемый» параметр, вы можете указать имя исключения, которое может вызвать наш тест. В приведенном выше примере вы используете « IllegalArgumentException», которое будет сгенерировано тестом, если разработчик использует недопустимый аргумент.

Пример использования @test (ожидается)

Давайте разберемся с тестированием исключений, создав класс Java с методом, генерирующим исключение. Вы справитесь с этим и протестируете в тестовом классе. Представьте, что JUnitMessage.java имеет метод, который просто выполняет математическую операцию на основе ввода, полученного пользователем. Если будет введен какой-либо недопустимый аргумент, он выдаст «ArithmeticException » . Смотри ниже:

пакет guru99.junit;public class JUnitMessage {личное строковое сообщение;public JUnitMessage (строковое сообщение) {this.message = сообщение;}public void printMessage () {System.out.println (сообщение);int div = 1/0;}public String printHiMessage () {message = "Привет!" + сообщение;System.out.println (сообщение);ответное сообщение;}}

Пояснение к коду:

  • Строка кода 7: Создание параметризованного конструктора с инициализацией поля.
  • Строка кода 11-14: Создание метода математической операции.
  • Строка кода 18: Создание другого метода для печати сообщения.
  • Строка кода 20: Создание новой строки для печати сообщения.
  • Строка кода 21: печать нового сообщения, созданного в строке 20.

Давайте создадим тестовый класс для вышеуказанного java-класса, чтобы проверить исключение.

См. Ниже тестовый класс для исключения модульного теста (здесь ArithmeticException), выбрасывающего сверху java-класс:

AirthematicTest.java

пакет guru99.junit;import static org.junit.Assert.assertEquals;import org.junit.Test;public class AirthematicTest {общедоступное сообщение String = "Saurabh";JUnitMessage junitMessage = новый JUnitMessage (сообщение);@Test (ожидается = ArithmeticException.class)public void testJUnitMessage () {System.out.println («Сообщение Junit печатается»);junitMessage.printMessage ();}@Тестpublic void testJUnitHiMessage () {message = "Привет!" + сообщение;System.out.println («Сообщение Junit печатается»);assertEquals (сообщение, junitMessage.printMessage ());}}

Пояснение к коду:

  • Строка кода 13: Использование аннотации @Test для создания нашего теста. Когда вы выполняете метод вышеуказанных классов, он вызывает математическую операцию. Здесь ожидается арифметическое исключение, поэтому вы указываете его как параметр в @Test.
  • Строка кода 17: Вызов printMessage () JUnitMessage.java
  • Строка кода 18: Создание другого метода для печати сообщения HI.

Если вы выполняете этот тестовый класс, тестовый метод выполняется с каждым определенным параметром. В приведенном выше примере метод тестирования выполняется пять раз.

Выполним и проверим результат. См. Ниже класс средства запуска тестов для выполнения JunitTestExample.java.

Выход:

Вот результат, который показывает успешный тест без трассировки сбоев, как показано ниже:

Резюме:

  • Проверка исключений - это специальная функция, представленная в JUnit4. В этом руководстве вы узнали, как тестировать исключение в JUnit с помощью @test (за исключением).
  • Junit предоставляет возможность отслеживать исключение, а также проверять, генерирует ли код исключение или нет.
  • Для тестирования исключений вы можете использовать
    • Необязательный параметр (ожидаемый) аннотации @test и
    • Для отслеживания информации можно использовать "fail ()"