Today's the day! Happy to share what I've been working on with Benedikt and Jendrik. Let us know if you are interested in participating in the private beta or have any questions! #TestLens
Today's the day! Happy to share what I've been working on with Benedikt and Jendrik. Let us know if you are interested in participating in the private beta or have any questions! #TestLens
Meet the #JUnit team in Cologne, Germany, in April at #JCON!
@marcphilipp.de will give a talk about the road to JUnit 6 and Christian and Rien will be attending as well.
Please use the following link to support JUnit (10% of the proceeds will go back to the project):
pretix.eu/impuls/europ...
β¨οΈ New blog post: "STF Milestone 10: Documentation improvements"
Modernizing @junit.org's documentation by adopting @antora.org and hosting on statichost.eu
ποΈ marcphilipp.de/blog/2026/01...
Thanks to the @sovereign.tech fund for their support!
β¨ New blog post: "STF Milestone 8: Improved parallel test execution"
Parallel execution support for the Vintage engine, resource lock improvements, and a new #JUnit Platform implementation of parallel execution
π marcphilipp.de/blog/2026/01...
Thanks to the @sovereign.tech Fund for their support!
β¨ New blog post: "STF Milestone 7: Safe cancellation"
Introducing a safe way to cancel #JUnit test execution early, e.g. after the first test failed, but still execute all cleanup logic.
π marcphilipp.de/blog/2025/12...
Thanks to the @sovereign.tech Fund for their support!
Thanks for the screenshot! Antora uses a different default stylesheet than plain Asciidoctor. Personally, I think it looks more modern and I like it better. At the end of the day, it probably comes down to a matter of preference.
Do you have a concrete example where you find the HTML version hard to read? Apart from the font we use the default styles for both versions.
JUnit is undoubtedly one of the most important projects in the #Java ecosystem. And it's 100% free and open!
Let me be frank: If we can't get THIS project to the point where a single maintainer can focus on it, then what does that say about our commitment to Free & Open Source Software?
1/3 β©
As a fellow maintainer of an open source project, this is an intense and somewhat scary read. Thanks to @grobmeier.de for being so open to talk about what he experienced and @github.com for initiating their Secure Open Source Fund!
github.blog/open-source/...
π’ Jimfs JUnit Jupiter 1.0.0 is also released!
β¨ Java 17 baseline
β¬οΈ Upgrade to JUnit 6
π Brand new user guide
π§βπ» Any feedback is welcome!
github.com/scordio/jimf...
Iβm really happy that the #JUnit 6.0 went out today. Thanks to the team for making it happen!
object ImprovedKotlinSupportTests { val data = sequenceOf( // Sequence<T> support arguments(1, Month.JANUARY), arguments(12, Month.DECEMBER) ) @ParameterizedTest @FieldSource("data") // suspending function support for coroutine testing suspend fun test(value: Int, month: Month?) { assertNotNull(month) // contracts to support... assertEquals(value, month.value) // smart casts! } }
β¨ New blog post: "STF Milestone 6: Improved Kotlin support"
#JUnit 6.0.0-RC1 improves JUnit's #Kotlin story by adding support for suspending functions, sequences, contracts and nullness annotations.
π marcphilipp.de/blog/2025/08...
Thanks to the @sovereign.tech fund for their support!
NOW is the time to try out #JUnit 6 before it goes GA! π
So, please try out 6.0 RC1, and let us know if you run into any issues.
Happy Testing! β
Whatβs next for JUnit?
See @marcphilipp.deβs session from #IntelliJIDEAConf for updates on versions 5.12, 5.13, and the upcoming 6.0 preview π youtu.be/-cY5BJaHz6E
@Test // Java int test() { return 42; } // Not executed!!! π±π±π±
β¨ New blog post: "STF Milestone 5: Discovery issues"
Ever written a test that wasn't being executed? π±
#JUnit 5.13 introduced a mechanism for reporting such issues found during test discovery.
π marcphilipp.de/blog/2025/08...
Thanks to the @sovereign.tech fund for their support!
#JUnit 6.0.0-M2 is ready for testing!
π° Everything in 6.0.0-M1
π Support for cancelling test execution
βοΈ New `--fail-fast` mode for ConsoleLauncher
π¦Ί Null-safe `computeIfAbsent` methods for stores
π§ Strict evaluation of enum-based configuration parameters
junit.org/junit5/docs/...
If you ever need to adapt a #JUnit3 TestSuite to run directly in #JUnit #Jupiter, it's actually possible with dynamic tests! π
Here's how I run the @β Inject TCK in the @SpringFramework.
github.com/spring-proje...
Kudos to @marcphilipp.de for suggesting the dynamic test idea.
#JUnit Logo Contest Update
Here are some of the top contenders.
Please let us know your thoughts.
And additional proposals are welcome!
github.com/junit-team/j...
Kudos to @marcphilipp.de for becoming a #Java Championβ¬! π
Take advantage of free access to @JetBrains IDEs by joining our Developer Recognition Program: www.jetbrains.com/shop/eform/d...
@sormuras.bsky.social Thanks for adding me!
Thank you! π
We really need a new #JUnit logo! π€£
Proposals are welcome!
github.com/junit-team/j...
We did indeed! π
@ParameterizedClass @ValueSource(strings = {"foo", "bar"}) class SomeTests { @Parameter String value; @Test void shouldNotBeNull() { assertNotNull(value); } @Test void lengthShouldBeThree() { assertEquals(3, value.length()); } }
β¨ New blog post: "STF Milestone 4: Parameterized test classes"
JUnit 5.13 introduced parameterized test classes (in addition to methods). They are a powerful testing tool that has long been missing from JUnit Jupiter...
π marcphilipp.de/blog/2025/06...
Glad you liked it! π
#JUnit 5.13.1 is released!
π Fix regressions introduced in 5.13.0
junit.org/junit5/docs/...
The slides and code examples for my talk about #JUnit at #IntelliJIDEAConf are now available on marcphilipp.de/en/talks/
Coming up soon at #IntelliJIDEAConf: @marcphilipp.de from the JUnit team walks you through the latest in JUnit 5.12 and 5.13, and whatβs coming in 6.0.
Better reports, better tests, and new ways to structure them. Donβt miss it!
Watch here: youtube.com/live/qg6tj8T...
#JUnit 5.13.0 is released!
πͺ ClassTemplate and ParameterizedClass support
β οΈ Discovery issue reporting for test engines
β»οΈ Resource management for launcher sessions and execution requests
π Test discovery support in EngineTestKit
πΎ ConsoleLauncher improvements
junit.org/junit5/docs/...
There's also getPlain() for "plain read access" to make it symmetric.