Sign in

Marc Philipp

@marcphilipp.de
161 followers 106 following 36 posts

Software engineer and @junit.org team lead, Java Champion and open source enthusiast, father, husband & family person (he/him) Website: marcphilipp.de Mastodon: chaos.social/@marcphilipp

PostsRepliesMedia
Marc Philipp @marcphilipp.de · 19/09/2026
New blog post: Mirroring the #JUnit repository to #Codeberg GitHub's wobbly availability and aggressive AI push have prompted second thoughts about relying on it exclusively for JUnit's repositories. [...] marcphilipp.de/blog/2026/09...
marcphilipp.de
Mirroring the JUnit repository to Codeberg • Marc Philipp
For over a decade, GitHub was the undisputed home of the open source community. Lately, its wobbly availability and aggressive AI push have prompted second…
041
Reposted by Marc Philipp
TestLens @testlens.app · 16/09/2026
When we started TestLens, we knew who we were building it for: teams that take their test suites seriously. So it means a lot that some of the most widely used testing projects in the JVM world now use TestLens on their own pull requests. 👉️ Read more: testlens.app/blog/2026/09... #java #junit
testlens.app
Leading Open Source Projects Trust TestLens
JUnit Framework, AssertJ, Apache Groovy, Apache Grails, and Spock Framework are early adopters of TestLens.
055
Marc Philipp @marcphilipp.de · 16/08/2026
New blog post: Renovate – teaching an old dog new tricks How to use Renovate's custom managers to automatically update dependency versions in files it doesn't support out of the box, using Node and npm versions in a Gradle project as an example marcphilipp.de/blog/2026/08...
marcphilipp.de
Renovate: teaching an old dog new tricks • Marc Philipp
Renovate is a super useful open-source tool that automatically keeps your project’s dependencies up to date (see also STF milestone 1 ). It has broad…
040
Marc Philipp @marcphilipp.de · 11/08/2026
New blog post: One required check to rule them all A pattern for having a single required status check for GitHub Actions workflows marcphilipp.de/blog/2026/08...
marcphilipp.de
One required check to rule them all • Marc Philipp
A single required status check for GitHub Actions workflows. Since its introduction in 2018, GitHub Actions has become wildly popular. I would attribute its…
020
Reposted by Marc Philipp
JUnit Team @junit.org · 03/08/2026
Ever needed help with a JUnit test or extension? Core JUnit team members now offer commercial support with OpenElements. ✅ 4–8 support hours per month ✅ Guaranteed response times ✅ Quarterly expert webinar ✅ Monthly newsletter Unused hours go back into JUnit. open-elements.com/support-care...
open-elements.com
Support & Care - Open Elements
Support & Care is a program for the sustainable further development, stabilization and support of open source software (OSS).
063
Marc Philipp @marcphilipp.de · 02/08/2026
New blog post: Reflecting on STF support and looking ahead Thanks to the @sovereign.tech fund, I was able to work full-time on JUnit for about 16 months in 2024 & 2025. It’s time to both reflect and look ahead at what’s next for me and for JUnit. 👉 marcphilipp.de/blog/2026/08...
marcphilipp.de
Reflecting on STF support and looking ahead • Marc Philipp
Thanks to the Sovereign Tech Fund (STF), I was able to work full-time on JUnit for about 16 months in 2024 and 2025. It’s time to reflect and assess whether…
061
Reposted by Marc Philipp
TestLens @testlens.app · 22/07/2026
TestLens now Generally Available! We are proud to announce that TestLens is now available for all GitHub users! If you develop with Java/Kotlin on GitHub, TestLens is here to ease your pain with flakiness in your test pipelines. testlens.app/blog/2026/07...
testlens.app
TestLens now Generally Available!
Get it now: free for personal accounts and open-source projects; free trials for everyone!
022
Reposted by Marc Philipp
JUnit Team @junit.org · 12/07/2026
#JUnit 6.1.2 is released! 🐞 Bug fixes and enhancements since 6.1.1 docs.junit.org/6.1.2/releas...
docs.junit.org
Release Notes :: JUnit User Guide
0158
Reposted by Marc Philipp
TestLens @testlens.app · 08/07/2026
🟢 🟡 🟠 🔴 Are my tests flaky and how bad is it? The Test Dashboard answers these questions! ✏️ Read more in our blog: testlens.app/blog/2026/07... 👀 See it in action: github.com/junit-team/j... 🚀 Try TestLens yourself: github.com/marketplace/... #Java #Kotlin #JUnit #Gradle #Maven
testlens.app
Meet the Test Dashboard
If a test fails, TestLens now gives you the data you need to determine if flakiness is involved.
012
Reposted by Marc Philipp
JUnit Team @junit.org · 01/07/2026
The junit-framework repository now has an official mirror on Codeberg and is open for contributions! 👉 codeberg.org/junit-team/j... To support Codeberg's mission of providing a free and open source collaboration platform, JUnit has joined Codeberg e.V. as a member.
codeberg.org
junit-framework
Mirror of the GitHub repository at https://github.com/junit-team/junit-framework/ (PRs welcome on Codeberg!)
22615
Reposted by Marc Philipp
TestLens @testlens.app · 08/05/2026
Flaky GitHub PRs are an annoying reality. Just when you think a change is good to merge, you are greeted with an ❌. To unblock your PR, you need to rerun lengthy test pipelines just because of one rogue test. TestLens can help you: testlens.app/blog/2027/05... #Java #JUnit #Gradle #Maven
testlens.app
Rerun Pull Request Builds Faster by Reusing Successful Test Results
Flaky GitHub Pull Request (PR) builds are an annoying reality in many projects and rerunning workflows manually is a recurring task. TestLens makes this less painful by offering convenient and quick r...
043
Reposted by Marc Philipp
TestLens @testlens.app · 18/03/2026
Test failures on CI often result in lengthy root cause analysis involving scrolling through GitHub Actions CI logs. The new Test Failure Details feature helps by surfaces test failures directly in Pull Requests: testlens.app/blog/2026/03... #ContinuousIntegration #Testing #Java #GitHub
testlens.app
Analyze Test Failures Quickly With the Test Failure Details View
Test failures on CI often result in time consuming root cause analysis involving scrolling through lengthy GitHub Actions CI logs. To address this well-known pain point, we've introduced the test fail...
002
Marc Philipp @marcphilipp.de · 04/02/2026
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
011
Reposted by Marc Philipp
JUnit Team @junit.org · 02/02/2026
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...
pretix.eu
Voucher redemption :: JCON EUROPE 2026
095
Marc Philipp @marcphilipp.de · 25/01/2026
✨️ 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!
marcphilipp.de
STF Milestone 10: Documentation improvements • Marc Philipp
Personal website
053
Marc Philipp @marcphilipp.de · 18/01/2026
✨ 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!
marcphilipp.de
STF Milestone 8: Improved parallel test execution • Marc Philipp
Personal website
042
Marc Philipp @marcphilipp.de · 28/12/2025
✨ 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!
marcphilipp.de
STF Milestone 7: Safe cancellation • Marc Philipp
Personal website
051
Reposted by Marc Philipp
Nicolai Parlog @nipafx.dev · 26/11/2025
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 ⏩
steady.page
Support JUnit
JUnit is maintained by a team of passionate volunteers. This is your chance to give back and support the project!
16947
Marc Philipp @marcphilipp.de · 21/10/2025
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/...
github.blog
Inside the breach that broke the internet: The untold story of Log4Shell
Log4Shell proved that open source security isn't guaranteed and isn’t just a code problem.
0126
Reposted by Marc Philipp
Stefano Cordio @scordio.github.io · 01/10/2025
📢 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...
github.com
Release v1.0.0 · scordio/jimfs-junit-jupiter
💥 Breaking Changes Jimfs JUnit Jupiter now requires Java 17, in line with JUnit 6 requirements. ⚡ Improvements Add user guide #41 🔨 Dependency Upgrades Upgrade to JUnit 6 #29
0124
Marc Philipp @marcphilipp.de · 30/09/2025
I‘m really happy that the #JUnit 6.0 went out today. Thanks to the team for making it happen!
1192
Marc Philipp @marcphilipp.de · 21/08/2025
✨ 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!
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!
    }
}
074
Reposted by Marc Philipp
Sam Brannen @sambrannen.com · 20/08/2025
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! ✅
2126
Reposted by Marc Philipp
IntelliJ IDEA, a JetBrains IDE @intellijidea.com · 18/08/2025
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
0135
Marc Philipp @marcphilipp.de · 16/08/2025
✨ 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!
@Test // Java
int test() {
    return 42;
} // Not executed!!! 😱😱😱
0145
Reposted by Marc Philipp
JUnit Team @junit.org · 22/07/2025
#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/...
junit.org
JUnit Release Notes
072
Reposted by Marc Philipp
Sam Brannen @sambrannen.com · 29/06/2025
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.
github.com
063
Reposted by Marc Philipp
Sam Brannen @sambrannen.com · 27/06/2025
#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...
185
Reposted by Marc Philipp
IntelliJ IDEA, a JetBrains IDE @intellijidea.com · 25/06/2025
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...
0152
Reposted by Marc Philipp
Sam Brannen @sambrannen.com · 20/06/2025
We really need a new #JUnit logo! 🤣 Proposals are welcome! github.com/junit-team/j...
2167
Marc Philipp @marcphilipp.de · 07/06/2025
✨ 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...
@ParameterizedClass
@ValueSource(strings = {"foo", "bar"})
class SomeTests {
    @Parameter String value;
    
    @Test
    void shouldNotBeNull() {
        assertNotNull(value);
    }
    @Test
    void lengthShouldBeThree() {
        assertEquals(3, value.length());
    }
}
03011
Reposted by Marc Philipp
JUnit Team @junit.org · 07/06/2025
#JUnit 5.13.1 is released! 🐞 Fix regressions introduced in 5.13.0 junit.org/junit5/docs/...
junit.org
JUnit 5 Release Notes
1268
Marc Philipp @marcphilipp.de · 04/06/2025
The slides and code examples for my talk about #JUnit at #IntelliJIDEAConf are now available on marcphilipp.de/en/talks/
marcphilipp.de
Talks • Marc Philipp
Personal website
1153
Reposted by Marc Philipp
IntelliJ IDEA, a JetBrains IDE @intellijidea.com · 04/06/2025
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...
youtube.com
IntelliJ IDEA Conf 2025. Day 2
On June 3–4, 2025, JetBrains is hosting a free virtual event – IntelliJ IDEA Conf.IntelliJ IDEA Conf is a celebration of the developer community, bringing to...
074
Reposted by Marc Philipp
JUnit Team @junit.org · 30/05/2025
#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/...
junit.org
JUnit 5 Release Notes
12510
Reposted by Marc Philipp
JUnit Team @junit.org · 26/05/2025
The #JUnit team is looking for ideas and proposals for a new logo for the upcoming JUnit 6.0 release! Please see github.com/junit-team/j... for ground rules. We are looking forward to your comments and submissions!
github.com
Decide for and adopt new project logo · Issue #4576 · junit-team/junit5
Since the current logo contains the number 5, we need a new logo for 6.0. I think it would be good to involve the community in this, potentially via some kind of "logo contest". We should make it c...
085
Marc Philipp @marcphilipp.de · 13/05/2025
The slides and exercise code of @sormuras.bsky.social' and my JUnit workshop at #JCON2025 is now available on GitHub: github.com/marcphilipp/...
github.com
GitHub - marcphilipp/jcon-junit-workshop-code: Code for the exercises of the JUnit workshop at JCON Europe 2025
Code for the exercises of the JUnit workshop at JCON Europe 2025 - marcphilipp/jcon-junit-workshop-code
031
Reposted by Marc Philipp
JUnit Team @junit.org · 02/05/2025
#JUnit 5.13.0-M3 is ready for testing! ⚠️ Reporting of discovery issues for test engines ♻️ Resource management for launcher sessions and execution requests junit.org/junit5/docs/...
junit.org
JUnit 5 Release Notes
074
Reposted by Marc Philipp
IntelliJ IDEA, a JetBrains IDE @intellijidea.com · 01/05/2025
Introducing our #IntelliJIDEAConf speakers and talks! 🎙 Catching Up With JUnit, by @marcphilipp.de 🗓 June 4, 12:00 pm UTC Get the full details and register for free today! 👉 jb.gg/pgpngl
jb.gg
IntelliJ IDEA Conf 2025 | June 3-4, 2025
We invite you to join us for IntelliJ IDEA Conf 2025 and gain insights from industry leaders and experts.
0103
Marc Philipp @marcphilipp.de · 01/04/2025
✨ New blog post: "STF Milestone 3: Release verification and automation" A major goal of the Sovereign Tech Fund is to help projects become more sustainable. For #JUnit, one activity in desperate need of improvement in this area was performing a release. marcphilipp.de/blog/2025/04...
screenshot of GitHub Actions workflow chart
011
Marc Philipp @marcphilipp.de · 25/03/2025
Together with @sormuras@mastodon.cloud, I will be hosting a workshop at @jcon@mastodon.social in Cologne on May 12. As you might have guessed, it's about "Catching up with #JUnit 5". See you there? schedule.jcon.one/session/837895 (1/2)
Promotional image for "Catching up with JUnit 5" workshop by Marc Philipp and Christian Stein at JCON 2025 featuring their avatars and a bunch of logos.
122
Reposted by Marc Philipp
Sam Brannen @sambrannen.com · 21/03/2025
This is the moment you've all been waiting for... 🥁 #JUnit Jupiter support for @⁠ParameterizedClass as a companion to the existing @⁠ParameterizedTest support! 🚀 @marcphilipp.de has put a lot of work into this, and we're eager for you to try it out and provide feedback!!!
13414
Marc Philipp @marcphilipp.de · 21/03/2025
✨ New blog post: "STF Milestone 2: Open Test Reporting" Finally, a reporting format fully-compatible with JUnit (and other tools) and a new shiny HTML report generator. 👉 marcphilipp.de/blog/2025/03...
marcphilipp.de
STF Milestone 2: Open Test Reporting • Marc Philipp
Personal website
052
Reposted by Marc Philipp
JUnit Team @junit.org · 21/02/2025
#JUnit 5.12.0 is released! 📎 Output file attachments for tests and containers 📰 Improvements to the Open Test Reporting XML output 🔒 Resource lock definition improvements 🧵 Thread dumps on test timeouts ✨ Numerous enhancements to existing features junit.org/junit5/docs/...
junit.org
03417
Reposted by Marc Philipp
Sam Brannen @sambrannen.com · 01/02/2025
Please give #JUnit 5.12 M1 a try and let us know what you think!
0134
Reposted by Marc Philipp
JUnit Team @junit.org · 07/02/2025
#JUnit 5.12 RC1 is ready for testing! 📎 Output file attachments for tests and containers 📰 Improvements to the Open Test Reporting XML output 🔒 Resource lock definition improvements 🧵 Thread dumps on test timeouts ✨ Numerous enhancements to existing features junit.org/junit5/docs/...
junit.org
JUnit 5 Release Notes
094
Reposted by Marc Philipp
Sam Brannen @sambrannen.com · 04/02/2025
#JUnit 5.12 will support user-defined #Java versions in condition annotations. This is useful when running tests on a JVM not yet supported by the JRE enum constants like JAVA_26. For example: @⁠EnabledOnJre(versions={25,26}) @⁠EnabledForJreRange(minVersion=26) junit.org/junit5/docs/...
junit.org
JUnit 5 User Guide
2103
Marc Philipp @marcphilipp.de · 27/01/2025
✨ New blog post: "STF Milestone 9: Jupiter extension improvements" Resolving a long-standing issue in JUnit Jupiter's extension API 👉 marcphilipp.de/blog/2025/01... #JUnit #Jupiter #SovereignTechFund #FOSS
marcphilipp.de
STF Milestone 9: Jupiter extension improvements • Marc Philipp
Personal website
023
Marc Philipp @marcphilipp.de · 19/01/2025
I finally got around to writing a blog post about receiving support from the @sovereign.tech to work on JUnit in 2024 and 2025. Let me know if you have any questions! marcphilipp.de/blog/2025/01...
marcphilipp.de
Being a full-time open source maintainer supported by the Sovereign Tech Fund • Marc Philipp
Personal website
070
Reposted by Marc Philipp
Sam Brannen @sambrannen.com · 16/01/2025
FYI: We (the JUnit Team) are planning on #JUnit6 with a #Java 17 baseline, hopefully to be released in the Fall of 2025. 😎 github.com/junit-team/j...
github.com
Change Java baseline to 17 for 6.0 · Issue #4246 · junit-team/junit5
Motivation Java 8 is the current baseline of JUnit 5. It was released over 10 years ago and recent versions of Java have introduced many enhancements that make moving to a more recent JDK as the ba...
26121