JUnit надає можливість відстежувати виняток, а також перевіряти, чи додає код очікуваний виняток чи ні.
Junit4 забезпечує простий і читабельний спосіб тестування винятків, яким ви можете скористатися
- Необов’язковий параметр (очікуваний) анотації @test та
- Для відстеження інформації можна використовувати "fail ()"
Під час тестування винятків вам потрібно переконатися, що клас винятків, який ви надаєте в цьому необов’язковому параметрі анотації @test , однаковий. Це тому, що ви очікуєте винятку із методу, яким ви є Unit Testing, інакше наш тест JUnit не вдасться.
Приклад @ тест (очікується = IllegalArgumentException.class)
Використовуючи параметр "очікуваний", ви можете вказати назву винятку, яку може дати наш тест. У наведеному вище прикладі ви використовуєте " IllegalArgumentException", який буде видано тестом, якщо розробник використовує недопустимий аргумент.
Приклад використання @test (очікувано)
Давайте розберемося в тестуванні на винятки, створивши клас Java із методом, що створює виняток. Ви впораєтеся з цим і випробуєте в тестовому класі. Розглянемо JUnitMessage.java, який має метод, який просто виконує математичну операцію на основі введення, отриманого користувачем. Якщо буде введено будь-який незаконний аргумент, він видасть "ArithmeticException " . Дивись нижче:
пакет guru99.junit;відкритий клас JUnitMessage {приватне рядкове повідомлення;public JUnitMessage (рядкове повідомлення) {this.message = message;}public void printMessage () {System.out.println (повідомлення);int розділити = 1/0;}public String printHiMessage () {message = "Привіт!" + повідомлення;System.out.println (повідомлення);відповідне повідомлення;}}
Пояснення коду:
- Рядок коду 7: Створення параметризованого конструктора з ініціалізацією поля.
- Кодовий рядок 11-14: Створення методу математичної операції.
- Кодовий рядок 18: Створення іншого методу друку повідомлення.
- Кодовий рядок 20: Створення нового рядка для друку повідомлення.
- Кодовий рядок 21: Друк нового повідомлення, створеного в рядку 20.
Давайте створимо тестовий клас для вищезазначеного класу Java, щоб перевірити виключення.
Див. Нижче клас тесту для винятку модульного тесту (ArithmeticException тут), викидаючи зверху клас Java:
AirthematicTest.java
пакет guru99.junit;імпортувати статичний org.junit.Assert.assertEquals;імпорт org.junit.Test;публічний клас AirthematicTest {повідомлення публічного рядка = "Saurabh";JUnitMessage junitMessage = новий JUnitMessage (повідомлення);@Test (очікується = ArithmeticException.class)public void testJUnitMessage () {System.out.println ("Junit Message is Print");junitMessage.printMessage ();}@ Тестpublic void testJUnitHiMessage () {message = "Привіт!" + повідомлення;System.out.println ("Junit Message is Print");assertEquals (message, junitMessage.printMessage ());}}
Пояснення коду:
- Кодовий рядок 13: Використання анотації @Test для створення нашого тесту. Коли ви виконуєте метод вищевказаних класів, він викличе математичну операцію. Тут передбачається арифметичний виняток, тому ви перелічуєте його як параметр у @Test.
- Рядок коду 17: Виклик printMessage () JUnitMessage.java
- Кодовий рядок 18: Створення іншого методу друку повідомлення HI.
Якщо ви виконуєте цей тестовий клас, метод тестування виконується з кожним визначеним параметром. У наведеному вище прикладі метод тесту виконується п’ять разів.
Давайте виконаємо його та перевіримо результат. Дивіться нижче клас тестового бігуна для запуску JunitTestExample.java
Вихід:
Ось результат, який показує успішний тест без слідів відмов, як зазначено нижче:
Короткий зміст:
- Тестування винятків - це спеціальна функція, представлена в JUnit4. У цьому підручнику ви дізналися, як протестувати виняток у JUnit за допомогою @test (за винятком)
- Junit надає можливість відстежувати виняток, а також перевіряти, чи створює код виняток чи ні
- Для тестування на винятки ви можете використовувати
- Необов’язковий параметр (очікуваний) анотації @test та
- Для відстеження інформації можна використовувати "fail ()"