Привет! На последней стажировке Spring 5/JPA Enterprise (Topjava) наш учебный проект перешел с JUnit 4 на JUnit 5.2. Базовый процесс миграции довольно прост, но есть некоторые нюансы, требующие ручного вмешательства.
О них и создании JUnit 5 Extensions для измерения времени тестирования хотелось бы кратко рассказать в 10-минутном видео.
Код расширения для измерения времени испытаний
import org.junit.jupiter.api.extension.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.util.StopWatch; public class TimingExtension implements BeforeTestExecutionCallback, AfterTestExecutionCallback, BeforeAllCallback, AfterAllCallback { private static final Logger log = LoggerFactory.getLogger("result"); private StopWatch stopWatch; @Override public void beforeAll(ExtensionContext ctx) { stopWatch = new StopWatch("Execution time of " + ctx.getRequiredTestClass().
getSimpleName()); } @Override public void beforeTestExecution(ExtensionContext ctx) { log.info("Start stopWatch"); stopWatch.start(ctx.getDisplayName()); } @Override public void afterTestExecution(ExtensionContext ctx) { stopWatch.stop(); log.info("stop stopWatch"); } @Override public void afterAll(ExtensionContext ctx) { log.info('\n' + stopWatch.prettyPrint() + '\n'); } }
Полезные ссылки:
- Домашняя страница JUnit 5
- Обзор
- 10 интересных нововведений
- Модель расширения
- Руководство по JUnit 5
- Миграция с JUnit 4
- Обратные вызовы до и после выполнения теста
- Условное выполнение теста
- Сторонние расширения
- Реализация AssertThat
А также использовать JUnit 5 в своих новых проектах.
Теги: #java #junit5 #миграция #тестирование #обучение #тестирование ИТ-систем #программирование #java #тестирование веб-сервисов #Карьера в ИТ-индустрии
-
Ноутбук Для Бизнес-Пользователя
19 Oct, 24 -
Мид, Джеймс
19 Oct, 24 -
Droider Chart 18. Игровое Издание
19 Oct, 24 -
Drupal И Альфа-Банк Вместе
19 Oct, 24 -
Супер Муравейник На Clojureclr
19 Oct, 24