рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ!
рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╕реНрдкреНрд░рд┐рдВрдЧ 5 / JPA рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ (рдкреБрдЦрд░рд╛рдЬ) рдЗрдВрдЯрд░реНрдирд╢рд┐рдк рдореЗрдВ, рд╣рдорд╛рд░реА рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ JUnit 4 рд╕реЗ JUnit 5.2 рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рд╣реБрдИред рдореБрдЦреНрдп рдкреНрд░рд╡рд╛рд╕рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛рдлреА рд╕реАрдзреА рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдореИрдВ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдФрд░ 10 рдорд┐рдирдЯ рдХреЗ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рдордп рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП JUnit 5 рдПрдХреНрд╕рдЯреЗрдВрд╢рдиреНрд╕ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдкрд░реАрдХреНрд╖рдг рд╕рдордп рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛрдб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 рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рднреАред