Дмитрий Тучс — JUnit, дай пять! Переносим код в JUnit 5 Extensions

Опубликовано: 16 Ноябрь 2024
на канале: Heisenbug — конференция по тестированию
5,575
124

Ближайшая конференция — Heisenbug 2025 Spring, 5—6 апреля (Москва + онлайн-трансляция).
Подробности и билеты: https://jrg.su/Tq0vcu
— Ближайшая конференция: Heisenbug 2023 Autumn — 10–11 октября (online), 15–16 октября (offline)
Подробности и билеты: https://bit.ly/3qd3swV
— — —
. . .Что вам может дать JUnit 5 в вашем проекте. Неприкрытая правда и голые факты.

JUnit 5 — полностью новый фреймворк, первый релиз-кандидат которого выпущен менее года назад. Имя JUnit обязывает ко многому, так как он является самым популярным решением для написания тестов в Java-мире, свежую версию которого ждали более трех лет.

Что же мы получили? Полностью новую кодовую базу, архитектуру и API, в сочетании с простотой и выразительностью предыдущей версии.

Процесс миграции с версии 4 прост — вы можете ограничиться исключительно заменой аннотаций. Но мы в PropellerAds, при переходе на JUnit 5, постарались ответить на вопрос: как использовать новые API для того, чтобы изменить наши тесты к лучшему?

Итак,

если ваши функциональные тесты написаны в стиле AAA (Arrange – Act – Assert), и секция подготовки данных сложнее, чем Calculator calculator = new Calculator();
если вы пишете тесты на «сложные» веб-проекты, такие как: интернет-банки, системы документооборота, CRM и т.д., а также создаете большое число «доменных» объектов ради простого тест-кейса;
если вы хотите реализовать действительно простые API для того, чтобы любой новичок мог расширять тестовое покрытие в вашем проекте, не испытывая шока при виде класса с тестами,
то этот доклад именно для вас! На реальных примерах расскажем, как мы не ограничились простой заменой аннотаций и избавились от первой «А» в аббревиатуре AAA.