JUnit Ожидаемый тест исключения: @Test(ожидается)
JUnit предоставляет возможность отслеживать исключение, а также проверять, выдает ли код ожидаемое исключение или нет.
Junit4 предоставляет простой и понятный способ тестирования исключений, вы можете использовать
- Необязательный параметр (ожидаемый) аннотации @test и
- Для отслеживания информации можно использовать «fail()».
В то время как Тестирование исключения, вам необходимо убедиться, что класс исключения, который вы указываете в этом необязательном параметре @test аннотация та же. Это потому, что вы ожидаете исключения из метода, который вы используете. Модульное тестирование, в противном случае наш JUnit тест провалится.
Пример@Test(ожидаемый=IllegalArgumentException.class)
Используя параметр «expected», вы можете указать имя исключения, которое может выдать наш тест. В приведенном выше примере вы используете «IllegalArgumentException» который будет выдан тестом, если разработчик использует недопустимый аргумент.
Пример использования @test(ожидается)
Давайте разберемся с тестированием исключений, создав Java класс с методом, выдающим исключение. Вы обработаете его и протестируете в тестовом классе. Рассмотрите JUnitMessage.java имеет метод, который просто выполняет математическую операцию на основе ввода, полученного пользователем. Если будет введен какой-либо недопустимый аргумент, будет выдано «ArithmeticException». См. ниже:
package guru99.junit; public class JUnitMessage{ private String message; public JUnitMessage(String message) { this.message = message; } public void printMessage(){ System.out.println(message); int divide=1/0; } public String printHiMessage(){ message="Hi!" + message; System.out.println(message); return message; } }
Пояснение к коду:
- Строка кода 7: Создание параметризованного конструктора с инициализацией полей.
- Строка кода 11–14: Создание метода математических операций.
- Строка кода 18: Создание другого метода для печати сообщения.
- Строка кода 20: Создание новой строки для печати сообщения.
- Строка кода 21: Печать нового сообщения, созданного в строке 20.
Давайте создадим тестовый класс для вышеуказанного класса Java для проверки исключения.
См. ниже тестовый класс для исключения модульного теста (здесь ArithmeticException), выбрасываемого из вышеуказанного класса Java:
AirthematicTest.java
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Test; public class AirthematicTest { public String message = "Saurabh"; JUnitMessage junitMessage = new JUnitMessage(message); @Test(expected = ArithmeticException.class) public void testJUnitMessage(){ System.out.println("Junit Message is printing "); junitMessage.printMessage(); } @Test public void testJUnitHiMessage(){ message="Hi!" + message; System.out.println("Junit Message is printing "); assertEquals(message, junitMessage.printMessage()); } }
Пояснение к коду:
- Строка кода 13: Использование аннотации @Test для создания нашего теста. Когда вы выполняете метод вышеуказанных классов, он вызывает математическую операцию. Здесь ожидается арифметическое исключение, поэтому вы указываете его как параметр в @Test.
- Строка кода 17: Вызов printMessage() JUnitСообщение.java
- Строка кода 18: Создание другого метода для печати сообщения HI.
Если вы выполняете этот тестовый класс, тестовый метод выполняется с каждым определенным параметром. В приведенном выше примере тестовый метод выполняется пять раз.
Давайте выполним его и проверим результат. Ниже приведен класс бегуна тестов для выполнения. JunitTestExample.java
Вывод:
Вот выходные данные, показывающие успешный тест без следов сбоев, как показано ниже:
Резюме
- Тестирование исключений — это специальная функция, представленная в JUnit4. В этом уроке вы узнали, как тестировать исключения в JUnit использование @test(исключено)
- Junit предоставляет возможность отслеживать исключение, а также проверять, генерирует ли код исключение или нет.
- Для тестирования исключений вы можете использовать
- Необязательный параметр (ожидаемый) аннотации @test и
- Для отслеживания информации можно использовать «fail()».