15 сентября 2020 2356
Это последняя часть нашей серии статей об архитектуре JUnit 5. Здесь мы рассмотрим используемый в JUnit 5 подход.
Архитектура JUnit 5. Часть 6
Предыдущая часть

Это последняя часть нашей серии статей об архитектуре JUnit 5. Здесь мы рассмотрим используемый в JUnit 5 подход. При использовании собственных расширений JUnit 5 обеспечивает такие же возможности, как JUnit 4 при использовании правил. Код на основе стиля декларативных аннотаций становится более компактным. Сначала мы определяем класс CustomExtension, который используется в качестве аргумента аннотации @ExtendWith для тестируемого класса.

Listing 9. The CustomExtension class
В Примере 9 мы делаем следующее:

  1. Декларируем CustomExtension как реализацию интерфейсов AfterEachCallback и BeforeEachCallback (1’).

  2. Переопределяем метод afterEach, который будет выполняться после каждого тестового метода из тестового класса, расширенного с помощью CustomExtension (2’).

  3. Переопределяем метод beforeEach, который будет выполняться перед каждым тестовым методом из тестового класса, расширенного с помощью CustomExtension (3’). 
Listing 10. The JUnit5CustomExtensionTester class
В Примере 10 мы делаем следующее:

  1. Расширяем JUnit5CustomExtensionTester с помощью класса CustomExtension (1’).

  2. Создаем метод myCustomRuleTest и добавляем к нему аннотацию @Test (2).

Поскольку тестовый класс расширен с помощью класса CustomExtension, ранее определенные методы beforeEach и afterEach выполняются соответственно до и после каждого тестового метода.

Отметим очевидную разницу в ясности кода и длине кода между JUnit 4 и JUnit 5. В JUnit 4 нужно использовать три класса, а JUnit 5 нужно только два класса. Код будет выполняться до и после того, как каждый тестовый метод будет изолирован в специальном методе с ясным наименованием. Что касается тестового класса, то нужно только добавить к нему аннотацию @ExtendWith.

Модель расширений в JUnit 5 можно также использовать для постепенной замены средств запуска из JUnit 4. Для расширений, которые уже созданы, процесс переноса будет простым. Например:

  • Для переноса тестов Mockito необходимо в тестовом классе заменить аннотацию @RunWith(MockitoJUnitRunner.class) на аннотацию @ExtendWith(MockitoExtension.class).
  • Для переноса тестов Spring необходимо в тестовом классе заменить аннотацию @RunWith(SpringJUnit4ClassRunner.class) на аннотацию @ExtendWith(MockitoExtension.class).

  • На момент написания этой статьи для тестов Arquillian расширение еще не создано.

Заключение

В статье рассмотрена новая архитектура JUnit 5, в которой устранены недостатки предыдущей версии JUnit 4. Особое внимание было уделено применению модульного подхода в JUnit 5. Кроме того, показаны возможности перехода с кода JUnit 4 на код JUnit 5, в том числе переход с правил на расширения и переход с настраиваемых правил на настраиваемые расширения.


Автор Catalin Tudose, Java and Web Technologies Expert

Последние статьи в блоге

Выгодный май — на курсы залетай!

Друзья, спешим поделиться отличной новостью — вы можете получить скидки до 40% на наши популярные курсы. Это отличная возможность улучшить навыки и инвестировать в профессиональное развитие по более выгодной цене. Выбирайте направление и подавайте заявку прямо сейчас!

05 мая 2025

Кейс: кастомизация курса по Jira

Кейс по проведению кастомизированного курса «Основы Jira» для крупной российской компании, занимающейся производством цифровой техники.

05 мая 2025

Зачем специалистам по 1С изучать системный анализ и архитектуру ПО

Как системный анализ и архитектура ПО помогают эффективнее работать в 1С.

29 апреля 2025

Банка Nutella, IT, ESG — что общего?

Когда вы читали этикетку на продукте не из-за состава, а из-за ESG-маркировки?

25 апреля 2025

Каковы плюсы и минусы монолитной и микросервисной архитектуры при разработке ИТ-продуктов?

Монолитная и микросервисная архитектуры представляют собой два различных подхода к разработке ИТ-продуктов, каждый из которых имеет свои преимущества и недостатки.

25 апреля 2025

Станьте архитектором ПО с выгодой! Только в апреле сэкономьте 20 000 ₽ и получите новый модуль по микросервисам в подарок

24 апреля стартует обучение на комплексной программе «Архитектор ПО. Путь к мастерству в проектировании систем»*.

14 апреля 2025

Архитектурные ошибки в корпоративных системах, которые могут создать проблемы в долгосрочной перспективе

В основе любой информационной системы — сложная структура. Спроектировать ее не легче, чем построить дом. Какие ошибки можно допустить при планировании ИТ-архитектуры, и в чем их основные причины? К чему они могут привести в долгосрочной перспективе и как этого избежать? Рассказывает Михаил Рощин, заместитель директора отделения управления проектами и архитектуры IBS.

Новости
10 апреля 2025

Кейс: Интенсив по управлению проектами для промышленной компании

Мы адаптировали курс по управлению проектами под запрос команды крупной промышленной компании и провели обучение. Вот что из этого вышло.

27 марта 2025

Кейс: Обучение сотрудников крупной компании работе с ClickHouse

Рассказываем, как мы организовали обучение команды работе с этой новой для заказчика технологией и каких результатов достигли.

19 марта 2025

Платформа сертификации IBS получила аккредитацию АПКИТ

Ассоциация предприятий компьютерных и информационных технологий (АПКИТ) приняла новый регламент сертификации ИТ-специалистов.

Новости
10 марта 2025

Специальные акции на учебные программы

У нас отличная новость для всех, кто стремится развивать свои навыки в мире ИТ.

06 марта 2025

Как остановить спам-атаку

Современный цифровой мир не обходится без рисков, и спам-атаки стали одной из наиболее распространенных угроз. Независимо от того, поступают ли они на ваш телефон, электронную почту или мессенджеры, массовые потоки таких сообщений могут быть крайне раздражающими и даже опасными. Спамеры используют эти атаки не только для рекламы, но и для мошенничества, фишинга или распространения вредоносных ссылок.

06 марта 2025

Учебный центр IBS подписал партнерское соглашение с ООО «РусБИТех-Астра», разработчиком российской операционной системы Astra Linux.

Теперь мы можем проводить авторизованное обучение по работе с Astra Linux для специалистов в области информационной безопасности.

17 февраля 2025

Двойная выгода: покупай один курс — получай второй за 50% стоимости!

Воспользуйтесь возможностью изучить более глубокие аспекты одной области — например, при покупке курса по Java, архитектуре ПО, управлению проектами, системному и бизнес-анализу, тестированию ПО и Big Data вы можете получить второй курс этой же тематики за полцены! Не упустите шанс развить свои навыки и поднять свою карьеру на новый уровень. 

29 января 2025

Сертификация преподавателя Java-разработки для крупного провайдера ИТ-обучения

Подтверждение квалификации значимо не только для ИТ-специалистов, работающих в сфере коммерческой разработки, но и для преподавателей, обучающих будущих экспертов в этой области. Делимся историей одного из преподавателей крупного провайдера ИТ-курсов, который успешно прошел Java-сертификацию.

Новости
21 января 2025

Системный аналитик 100 lvl — дорожная карта развития

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

23 декабря 2024

Платформа сертификации IBS признана лучшим digital-решением для корпоративного обучения

Центр сертификации IBS стал обладателем Гран-при премии «Смарт пирамида» — одной из самых престижных российских премий за достижения в области обучения и развития человеческого капитала.

20 декабря 2024

Учебный центр IBS получил сертификат ГОСТ Р ИСО 9001-2015

В октябре 2024 года Учебный центр IBS получил сертификат соответствия ГОСТ Р ИСО 9001-2015. Это важное достижение подтверждает, что мы придерживаемся высоких стандартов качества и результативно управляем образовательными процессами организации.

19 декабря 2024

9 курсов со скидкой до 50%

Друзья, в январе стартует 9 курсов, обучение на которых можно купить со скидкой до 50%*! 

15 декабря 2024

8 заблуждений про тестирование

Тестирование программного обеспечения окружено множеством заблуждений. Эти стереотипы нередко приводят к недопониманию его реальной роли и важности для успешного создания продуктов. Рассмотрим восемь самых распространенных мифов о тестировании и объясним, почему они не соответствуют действительности.

15 декабря 2024

Не нашли, что искали? — Просто напишите, и мы поможем

Корпоративное обучение Оценка персонала Сертификация О нас Стань тренером Блог
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.