Registrar a duração de um teste de unidade pode ajudar a depurar problemas de desempenho – especialmente em um servidor remoto como o Jenkins. É claro que você pode recorrer aos relatórios Surefire, mas ter tudo no log geral torna muito mais fácil correlacionar os problemas.
JUnit fornece regras para adicionar facilmente essa funcionalidade. Adicione-o à sua classe base de teste e você está pronto para ir:
@Rule
public TestRule watcher = new TestWatcher() {
private long start;
protected void starting(Description description) {
logger.info("Starting test: " + description.getMethodName());
start = System.currentTimeMillis();
}
@Override
protected void finished(Description description){
long end = System.currentTimeMillis();
logger.info("Test " + description.getMethodName() + " took " + (end - start) + "ms");
}
};