On Thu, 2 Oct 2025 at 21:38, Gary Gregory <[email protected]> wrote:
>
> On Thu, Oct 2, 2025 at 5:42 AM Sandra Parsick <[email protected]> wrote:
> >
> > I'd like to add my user perspective:
> >
> > Introducing a new Maven plugin as a replacement for the Surefire plugin
> > will create work on the user side. The past teaches us that the
> > acceptance of such a change is not very high (see the discussion about
> > JUnit 3/4/5, maybe soon 6 will  also join this discussion). Therefore, I
> > prefer the way that Olivier and Sebastian are preparing: Using the JUnit
> > Platform Runnner in the core of Surefire. We have a modernization with
> > not so much impact for the user. After the refactoring, IMHO we can go
> > further and think about how to adjust the Surefire plugin to have a
> > better integration with the Jupiter platform, clean up old defaults, etc.
> >
> > My 2ct to the JUnit 3 discussion:
> >
> > The last release of JUnit 3 was 2007. 18 years ago! I think that is
> > enough time for a migration :o). I know manual migration sucks. But
> > fortunately, nowadays we have tools like OpenRewrite [2] that can
> > automate the happy part and help automate the custom part [3]. Of
>
> Yes, but the "happy part" isn't worth much in this specific case, IMO;
> it's the last 20% that consumes 80% of the time. For example, try
> converting Apache Commons VFS to JUnit 5...
>

no plan yet to drop Junit4 support.
Maybe such conversion could be done using AI or openrewrite

> Gary
>
> > course, it depends on your customization how big the manual part will
> > stay. But hey, that is the known consequence of customizing.
> > To be honest, if you have no problem staying on JUnit 3 then you should
> > be okay to stay on an older Surefire plugin version that supports JUnit 3.
> >
> > Sandra
> >
> > [1] https://mvnrepository.com/artifact/junit/junit/3.8.1
> > [2]
> > https://docs.openrewrite.org/recipes/java/testing/junit5/migratejunittestcase
> > [3] https://docs.openrewrite.org/authoring-recipes
> >
> > Am 01.10.25 um 10:46 schrieb Romain Manni-Bucau:
> > > @Olivier junit5 platform (what we do use) comes with its configuration but
> > > surefire overlaps a lot (~100%) with it and you can't use both together
> > > without having a half baked solution. While I do not think we'll ever get 
> > > a
> > > 100% coverage of the underlying engine (we'll likely keep default like
> > > *Tests/Test* enforced without preventing the defaults of JUnit for ex -
> > > current status is last part is broken), we should be able to respect all
> > > the rest - threading, discovery etc....
> > >
> > > Indeed we can always make evolving surefire but what's the point since it
> > > is already superseeded?
> > >
> > > Romain Manni-Bucau
> > > @rmannibucau <https://x.com/rmannibucau> | .NET Blog
> > > <https://dotnetbirdie.github.io/> | Blog <https://rmannibucau.github.io/> 
> > > | Old
> > > Blog <http://rmannibucau.wordpress.com> | Github
> > > <https://github.com/rmannibucau> | LinkedIn
> > > <https://www.linkedin.com/in/rmannibucau> | Book
> > > <https://www.packtpub.com/en-us/product/java-ee-8-high-performance-9781788473064>
> > > Javaccino founder (Java/.NET service - contact via linkedin)
> > >
> > >
> > > Le mer. 1 oct. 2025 à 01:10, Olivier Lamy <[email protected]> a écrit :
> > >
> > >> On Tue, 30 Sept 2025 at 23:38, Romain Manni-Bucau <[email protected]>
> > >> wrote:
> > >>>
> > >>> Le mar. 30 sept. 2025, 14:42, Gary Gregory <[email protected]> a
> > >>> écrit :
> > >>>
> > >>>> What I'm learning here is:
> > >>>>
> > >>>> - a project stuck on JUnit 3 stays on the last know version that
> > >> supports
> > >>>> it
> > >>>> - JUnit 4, 5, and 6 projects will benefit from the new plug-in and its
> > >> more
> > >>>> direct approach
> > >>>> - other test frameworks like TestNG are supported through JUnit 4+
> > >>>>
> > >>>> Is that about right?
> > >>>>
> > >>>
> > >>> Junit 5 is a plateforme, if you have n engine for your test framework 
> > >>> you
> > >>> are converse.
> > >>> There was one for spock which is not supporter by surefire directly for
> > >> ex
> > >>> so it is more you are limited to what is supporter in the wild.
> > >>>
> > >>> Today surefire doesn't support junit5 for that reason for ex, its
> > >> filtering
> > >>> layer breaks partially that.
> > >>>
> > >>
> > >> Can you please give some details on "surefire doesn't support junit5"?
> > >> What do you mean here?
> > >> I'm reading this as "surefire cannot run Junit5 tests", which
> > >> obviously looks wrong.
> > >>
> > >>>
> > >>>> Thank you,
> > >>>> Gary
> > >>>>
> > >>>>
> > >>>> On Tue, Sep 30, 2025, 06:20 Romain Manni-Bucau <[email protected]>
> > >>>> wrote:
> > >>>>
> > >>>>> Hi Olivier,
> > >>>>>
> > >>>>> Why I thrown this thread is because I think we can go futher and drop
> > >>>>> totally our asbtraction which has conflicts with the underlying
> > >> platform
> > >>>>> (discovery for ex) and just expose junit engine so we would use their
> > >>>> test
> > >>>>> discovery, their test filtering etc...
> > >>>>> This would make the configuration less awckward and the code way less
> > >>>>> abstracted so easier to maintain.
> > >>>>>
> > >>>>> Not saying your PR is not awesome (it is) but I think we can leverage
> > >>>> maven
> > >>>>> 4 to break a bit more and do our big housecleaning ;).
> > >>>>>
> > >>>>> No strong opinion on the plugin name but options should converge more
> > >>>> IMHO.
> > >>>>>
> > >>>>> Romain Manni-Bucau
> > >>>>> @rmannibucau <https://x.com/rmannibucau> | .NET Blog
> > >>>>> <https://dotnetbirdie.github.io/> | Blog <
> > >> https://rmannibucau.github.io/
> > >>>>>
> > >>>>> | Old
> > >>>>> Blog <http://rmannibucau.wordpress.com> | Github
> > >>>>> <https://github.com/rmannibucau> | LinkedIn
> > >>>>> <https://www.linkedin.com/in/rmannibucau> | Book
> > >>>>> <
> > >>>>>
> > >>>>
> > >> https://www.packtpub.com/en-us/product/java-ee-8-high-performance-9781788473064
> > >>>>>>
> > >>>>> Javaccino founder (Java/.NET service - contact via linkedin)
> > >>>>>
> > >>>>>
> > >>>>> Le mar. 30 sept. 2025 à 11:12, Olivier Lamy <[email protected]> a
> > >> écrit :
> > >>>>>
> > >>>>>> Hi,
> > >>>>>>
> > >>>>>> You should have a look at the work already started with this PR [1]
> > >>>>>> and previously discussed on Slack. I wanted to reach a certain
> > >> level
> > >>>>>> of stability before bringing it up on the mailing list.
> > >>>>>> The current approach leverages the JUnit 5 platform/engine to run
> > >> all
> > >>>>>> tests from JUnit 4.12 (via junit vintage which cannot run anything
> > >>>>>> before 4.12) onward up to JUnit 5 (6 shouldn't be a problem).
> > >> TestNG
> > >>>>>> support still needs to be added, but this shouldn't be an issue as
> > >>>>>> it's an external engine to add (similar to add vintage engine for
> > >>>>>> junit4)
> > >>>>>>
> > >>>>>> This change deliberately drops support for older JUnit versions
> > >> prior
> > >>>>>> to 4.12, which are no longer maintained even by the Junit team.
> > >>>>>> Users who still rely on those outdated/EOL versions can continue
> > >> using
> > >>>>>> the last Surefire release that supports them.
> > >>>>>> That code is effectively frozen, and no further updates are
> > >> expected
> > >>>>>> for legacy JUnit support.
> > >>>>>>
> > >>>>>> I believe this is a good direction because it preserves the same
> > >>>>>> plugin name and user-facing configuration, so the impact for users
> > >> is
> > >>>>>> minimal.
> > >>>>>> At the same time, it gives us much cleaner internals, reduces
> > >>>>>> duplication, removes a lot of dead code, and significantly cuts
> > >> down
> > >>>>>> on maintenance overhead with surefire.
> > >>>>>>
> > >>>>>> Regards
> > >>>>>> Olivier
> > >>>>>>
> > >>>>>> [1] https://github.com/apache/maven-surefire/pull/3179
> > >>>>>>
> > >>>>>>
> > >>>>>> On Mon, 29 Sept 2025 at 17:18, Romain Manni-Bucau <
> > >>>> [email protected]
> > >>>>>>
> > >>>>>> wrote:
> > >>>>>>>
> > >>>>>>> Hi all,
> > >>>>>>>
> > >>>>>>> I'd like to start a thread about potentially dropping surefire
> > >>>> totally.
> > >>>>>>> The rational is that surefire (and failsafe) are mainly an
> > >>>> abstraction
> > >>>>>>> layer on top of main test providers.
> > >>>>>>> However, since JUnit5 the platform/engine is itself such an
> > >>>> abstraction
> > >>>>>>> layer and a runner.
> > >>>>>>>
> > >>>>>>> On another side, testng and junit4 are slowly getting abandonned
> > >> -
> > >>>> even
> > >>>>>> EE
> > >>>>>>> TCK started to move.
> > >>>>>>>
> > >>>>>>> In terms of additional features we do have the maven site
> > >>>> integratoin -
> > >>>>>> but
> > >>>>>>> I doubt it is much used outside and to be honest it can be
> > >> replaced
> > >>>>> with
> > >>>>>> a
> > >>>>>>> github/dev-factory link with more benefit these days.
> > >>>>>>>
> > >>>>>>> So overall I think we can converge by dropping surefire plugin in
> > >>>> favor
> > >>>>>> of
> > >>>>>>> a thin wrapper of junit5 console runner ([1]).
> > >>>>>>>
> > >>>>>>> Short terms I'm sure Christian could help us getting something
> > >> fast
> > >>>>> based
> > >>>>>>> on its implementation ([2] - including a small surefire
> > >> compatibility
> > >>>>>> mode)
> > >>>>>>> and long term it will reduce the maintenance cost we do have for
> > >> a
> > >>>> very
> > >>>>>>> poor gain in current world (site and remoting are no more key
> > >>>> features
> > >>>>>>> thanks the CI and doc evolution).
> > >>>>>>>
> > >>>>>>> Wdyt? Is maven 4 the mometum to do it?
> > >>>>>>>
> > >>>>>>> [1]
> > >>>>>>>
> > >>>>>>
> > >>>>>
> > >>>>
> > >> https://docs.junit.org/current/user-guide/#running-tests-console-launcher
> > >>>>>>> [2] https://github.com/sormuras/junit-platform-maven-plugin
> > >>>>>>>
> > >>>>>>> Romain Manni-Bucau
> > >>>>>>> @rmannibucau <https://x.com/rmannibucau> | .NET Blog
> > >>>>>>> <https://dotnetbirdie.github.io/> | Blog <
> > >>>>> https://rmannibucau.github.io/>
> > >>>>>> | Old
> > >>>>>>> Blog <http://rmannibucau.wordpress.com> | Github
> > >>>>>>> <https://github.com/rmannibucau> | LinkedIn
> > >>>>>>> <https://www.linkedin.com/in/rmannibucau> | Book
> > >>>>>>> <
> > >>>>>>
> > >>>>>
> > >>>>
> > >> https://www.packtpub.com/en-us/product/java-ee-8-high-performance-9781788473064
> > >>>>>>>
> > >>>>>>> Javaccino founder (Java/.NET service - contact via linkedin)
> > >>>>>>
> > >>>>>>
> > >> ---------------------------------------------------------------------
> > >>>>>> To unsubscribe, e-mail: [email protected]
> > >>>>>> For additional commands, e-mail: [email protected]
> > >>>>>>
> > >>>>>>
> > >>>>>
> > >>>>
> > >>
> > >> ---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: [email protected]
> > >> For additional commands, e-mail: [email protected]
> > >>
> > >>
> > >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to