JUnit 5 - State of the Union
summary
JUnit 5 modernizes testing with concrete changes: full Java 8 support enabling lambdas in assertions, dynamic test creation that builds tests at runtime via @TestFactory, and a modular engine model (Jupiter + Vintage) so legacy tests run alongside new ones. It replaces the old expected-exception parameter with assertThrows replacing expected parameter and adds extension points (class-, method-, and parameter-level), display names, parameter resolvers, and richer failure reporting. Crowdfunded development and migration caveats are noted with planned staged releases.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 3:18Unit testing history
- 8:16JUnit 5 crowdfunding
- 15:09JUnit 5 core principles
- 18:52Test engines
- 25:07Dynamic tests
- 33:20Assertions and exceptions
- 39:10Test reporting
- 43:16Accessibility and extensions
- 48:05Lifecycle extensions
- 53:15Compatibility and future
- 56:00Release plans
related talks
51mJUnit 5: what's new and what's coming
51mJUnit 5 — The New Testing Framework for Java and Platform for the JVM
48mJUnit 5: New Opportunities for Testing on the JVM
01h 06mJUnit 5 — New Opportunities for Testing on the JVM
51mWelcome to JUnit 5
51mJUnit 5
44mJUnit 5: The Next Step in Automated Testing for Java
07mJUnit 5
