Миграция учебного проекта Topjava на JUnit 5 за 10 мин. Измерение времени тестов с помощью Extensions

от автора

Здравствуйте!

На последней стажировке 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 4 и вы еще не мигрировали на JUnit 5, это небольшое видео вдохновит вас. А также на использование JUnit 5 в Ваших новых проектах.


ссылка на оригинал статьи https://habr.com/post/420891/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *