Olá
Em um recente estágio da Spring 5 / JPA Enterprise (Topjava), nosso projeto de treinamento migrou da JUnit 4 para a JUnit 5.2. O principal processo de migração é bastante simples, mas há algumas nuances que requerem intervenção manual. Quero falar brevemente sobre eles e a criação das extensões JUnit 5 para medir o tempo de teste em um vídeo de 10 minutos.
Código de extensão para medir o tempo de testeimport 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'); } }
Links úteis:
Obrigado pela atenção!
Espero que, se o seu projeto usa o JUnit 4 e você ainda não migrou para o JUnit 5, este breve vídeo irá inspirá-lo. E também sobre o uso do JUnit 5 em seus novos projetos.