JUnit 5 — New Opportunities for Testing on the JVM
Take a Deep Dive into JUnit 5 with core committer Sam Brannen!
Over the last decade a lot has happened in the world of Java and testing, but JUnit 4 hasn't kept up. Now JUnit 5 is here to help shape the future of testing on the JVM with a focus on Java 8 language features, extensibility, and a modern programming API for testing in Java. Moreover, JUnit isn't just a Java testing framework anymore. Third parties are already developing test engines for Scala, Groovy, Kotlin, etc. that run on the new JUnit Platform.
This session starts off with an overview of the inspiration for & architecture of JUnit 5, from launchers to test engines. Sam will then take the audience on a live coding tour, highlighting support for tagging, custom display names, dependency injection, repeated tests, parameterized tests, conditional test execution, lambda expressions for assertions, assumptions, & dynamic tests, and implementing tests via interface default methods (a.k.a., testing traits).
Next, Sam will present the new extension model in JUnit Jupiter, discussing how to author and register extensions for conditional tests, parameter resolution (a.k.a., dependency injection), lifecycle callbacks, & more.
To round off the session, Sam will quickly showcase the new JUnit Jupiter support in Spring Framework 5.0.
Sam Brannen is an enterprise Java developer with 20 years of experience and co-founder of Swiftmind, a software consulting agency in Zurich, Switzerland. At Swiftmind Sam helps international clients achieve best practices in software development, architecture, design, implementation, and testing of enterprise Java applications using the Spring Framework, JUnit, and a plethora of open source technologies.
Sam is a popular speaker at conferences on Java and Spring. He is also an active core committer for the Spring Framework and JUnit 5 as well as the author and maintainer of Spring's testing framework.