在10分钟内迁移到JUnit 5。 使用扩展功能测量测试时间

你好

在最近的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。

Source: https://habr.com/ru/post/zh-CN420891/


All Articles