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

Ближайшая конференция — Heisenbug 2025 Autumn, 19—20 октября, Санкт-Петербург + online. Подробности и билеты:
— Ближайшая конференция: Heisenbug 2023 Autumn — 10–11 октября (online), 15–16 октября (offline) Подробности и билеты:
— — — В своём докладе на этом Heisenbug Дмитрий рассказывает о том, как с помощью всего 4 классов можно сделать свои тесты красивыми и идоматичными. Но отдельная большая тема о том, как улучшить вид своих тестов — это возможности, которые предоставляет JUnit5. (Вкратце Дмитрий ссылается на этот доклад в своем сегодняшнем.) Об этом Дмитрий рассказывал в 2018 году, и его доклад не потерял актуальности. JUnit 5 — фреймворк, первый релиз-кандидат которого выпущен в 2017 году. Имя JUnit обязывает ко многому, так как он является самым популярным решением для написания тестов в Java-мире. Что же мы получили? Полностью новую кодовую базу, архитектуру и API, в сочетании с простотой и выразительностью предыдущей версии. Процесс миграции с версии 4 прост — вы можете ограничиться исключительно заменой аннотаций. Но в PropellerAds, при переходе на JUnit 5, постарались ответить на вопрос: как использовать новые API для того, чтобы изменить наши тесты к лучшему? Итак, — если ваши функциональные тесты написаны в стиле AAA (Arrange — Act — Assert), и секция подготовки данных сложнее, чем Calculator calculator = new Calculator(); — если вы пишете тесты на «сложные» веб-проекты, такие как: интернет-банки, системы документооборота, CRM и т. д., а также создаете большое число «доменных» объектов ради простого тест-кейса; — если вы хотите реализовать действительно простые API для того, чтобы любой новичок мог расширять тестовое покрытие в вашем проекте, не испытывая шока при виде класса с тестами, то этот доклад именно для вас! На реальных примерах расскажем, как мы не ограничились простой заменой аннотаций и избавились от первой «А» в аббревиатуре AAA.

Смотрите также