Deep Dive into JUnit 5
summary
Explains why JUnit 4 needed replacement and shows the actual JUnit 5 architecture: a modular JUnit Platform with launcher and engine APIs, a new Jupiter programming model plus Vintage for JUnit 3/4, and service‑loader engines. Demonstrates concrete features: assertAll, assertThrows, timeout variants, parameter resolvers for constructor/method injection, nested and dynamic tests, tag/condition support, and IDE/Maven/Gradle integration; cites crowdfunding ~€54,000 from ~700 people and live codes Spring integration and example extensions.
AI-written summary · about
chapters (28)
- 0:00Intro
- 0:12Sam Brannen
- 2:23Impetus for Change
- 4:27JUnit 4 Runner API
- 7:07JUnit Lambda - Crowdfunding Campaign
- 9:14Roadmap
- 9:58JUnit 5-in a Nutshell
- 13:45Launcher API
- 14:48TestEngine API
- 17:32IDEs and Build Tools
- 18:54JUnit Jupiter - Extension Model
- 23:01JUnit Jupiter - Programming Model
- 24:51Annotations
- 25:44Assertions
- 36:30Test Names
- 37:35Dependency Injection
- 39:11Custom Tags
- 39:49Conditional Test Execution
- 40:16Interface Default Methods
- 40:45Nested Test Classes
- 42:12Dynamic Tests
- 43:24What's Missing?
- 44:03Spring Support for JUnit Jupiter
- 44:37Configuring JUnit Jupiter with Spring
- 46:04Spring Boot 1.4 + JUnit 5 - Custom Config
- 46:25Spring Boot 1.4 + JUnit 5 - Mock Mvc Test
- 46:51JUnit 5 Resources
- 47:15Spring Resources
related talks
48mJUnit 5: New Opportunities for Testing on the JVM
51mJUnit 5
51mWelcome to JUnit 5
51mJUnit 5 — The New Testing Framework for Java and Platform for the JVM
01h 06mJUnit 5 — New Opportunities for Testing on the JVM
51mJUnit 5: what's new and what's coming
44mJUnit 5: The Next Step in Automated Testing for Java
01h 05mJava Testing Part 1: JUnit Jupiter and AssertJ
