Начало основного контента

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

Язык -RU

В своём докладе на этом 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.

Спикеры