24.08.2020 1285
IBS Training Center Telegram
Подписывайтесь на наш канал в Telegram:
больше материалов экспертов, анонсы бесплатных вебинаров и задачки для IT-специалистов
Подписаться
Предыдущая часть

В третьей части нашей серии статей об архитектуре JUnit 5 мы поговорим о правилах модели расширений. Приятного чтения.

6. Правила и модель расширений

Для того чтобы напрямую сравнить модель правил в JUnit 4 и модель расширений в JUnit 5, используем класс Calculator (Пример 1). Он используется для выполнения математических операций с целью проверки тестируемых систем. Нас интересует проверка методов, которые могут выдавать исключения. Одно из правил — ExpectedException. Его легко заменить на метод assertThrows в JUnit 5.

Listing 1. The extended calculator class

Логика, которая может выдавать исключения в классе Calculator, делает следующее:

  1. Декларирует метод для вычисления квадратного корня числа (1). Если число отрицательное, создается и выдается исключение, содержащее соответствующее сообщение (2).

  2. Декларирует метод для деления одного числа на другое (3). Если второе число ноль, то создается и выдается исключение, содержащее соответствующее сообщение (4).

В Примере 2 (Listing 2) показано, какое сообщение о ошибке ожидается в процессе выполнения тестового кода при использовании описанной выше новой возможности класс Calculator.

Listing_2. The JUnit4RuleExceptionTester class

В примере с JUnit 4 выше мы делаем следующее:
  1. Декларируем поле ExpectedException с аннотацией @Rule. Аннотацию @Rule необходимо применить либо к общедоступному нестатичному полю, либо к общедоступному нестатичному методу (1). Фабричный метод ExpectedException.none() создает некофигурированное ExpectedException.
  2. Инициализируем экземпляр класса Calculator, функциональность которого мы тестируем (2).

  3. Метод ExpectedException настраивается на сохранение типа исключения (3) и сообщения (4), до выдачи ошибки посредством вызова метода sqrt в строке (5).

  4. Метод ExpectedException настраивается на сохранение типа исключения (6) и сообщения (7), до выдачи ошибки посредством вызова метода divide в строке (8).

Автор Catalin Tudose, Java and Web Technologies Expert
 
Продолжение



Расскажи друзьям:

Как не пропустить самое интересное?
Подписывайтесь на наш ежемесячный дайджест!
Спасибо.
Вы подписаны на ежемесячный дайджест.
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.