Hello,

I liked the post below from the Medium platform. Sharing it here for reference
purposes.

What’s new in JUnit 6: Key Changes and Improvements
https://medium.com/javarevisited/whats-new-in-junit-6-key-changes-and-improvements-551a84d7ed1f

--
Kind Regards,
Ashish Vijaywargiya
Vice President of Operations
*HotWax Systems*
*Enterprise open source experts*
http://www.hotwaxsystems.com



On Sat, May 30, 2026 at 11:25 AM Ashish Vijaywargiya <
[email protected]> wrote:

> Thank you, Nicolas and Arun!
>
> I have just merged my PR -
> https://github.com/apache/ofbiz-framework/pull/1301 into the ofbiz trunk
> codebase.
>
> I will keep a close eye on the Dev mailing list and assist with JUnit
> 6.1.0-related issues.
>
> Now the OFBiz trunk codebase will run on the JUnit 6.1.0 testing framework
> version.
>
> Thank you.
>
> --
> Kind Regards,
> Ashish Vijaywargiya
> Vice President of Operations
> *HotWax Systems*
> *Enterprise open source experts*
> http://www.hotwaxsystems.com
>
>
>
> On Sat, May 30, 2026 at 10:44 AM Arun Patidar <[email protected]>
> wrote:
>
>> Hi Ashish,
>>
>> I have reviewed the PR, and it looks good to me.
>>
>>
>> Best regards,
>> ---
>> Arun Patidar
>>
>>
>> On Fri, May 29, 2026 at 10:51 PM Nicolas Malin via dev <
>> [email protected]>
>> wrote:
>>
>> > Hello Ashish,
>> >
>> > I have no objection to move to Junit 6. If you estimate that there is an
>> > advantage to do, without objection from other let's go :)
>> >
>> > I admit, I didn't use Junit, I use groovy for my test that I found more
>> > powerful
>> >
>> > Nicolas
>> >
>> > On 5/29/26 15:38, Ashish Vijaywargiya wrote:
>> > > Dear Apache OFBiz Dev Community Members,
>> > >
>> > > I am feeling glad to let you know that I have completed this
>> POC(Migrate
>> > > Apache OFBiz test suite from JUnit 4 to JUnit 6 (Jupiter)).
>> > >
>> > > The following details will be helpful to you(I have used most of the
>> > > details shown below in my commit as well):
>> > >
>> > > =================================
>> > > Migrate Apache OFBiz test suite from JUnit 4 to JUnit 6 (Jupiter)
>> > >
>> > > Key changes include:
>> > >
>> > > - Assertions Parameter Order: Updated `assertEquals` calls to match
>> the
>> > new
>> > > JUnit 6 method signature.
>> > >
>> > > The custom failure message is now passed as the last argument rather
>> than
>> > > the first `assertEquals(expected, actual, "message")`.
>> > >
>> > > - Exception Testing Syntax: Updated `assertThrows` to use JUnit
>> Jupiter
>> > > API.
>> > >
>> > >
>> > > The following import statement has been changed and introduced jupiter
>> > > specific import statement:
>> > >
>> > > import org.junit.Test; --> import org.junit.jupiter.api.Test;
>> > > import org.junit.Before; --> import org.junit.jupiter.api.BeforeEach;
>> > > import org.junit.After; --> import org.junit.jupiter.api.AfterEach;
>> > > import org.junit.BeforeClass; --> import
>> org.junit.jupiter.api.BeforeAll;
>> > > import org.junit.AfterClass; --> import
>> org.junit.jupiter.api.AfterAll;
>> > > import org.junit.Ignore; --> import org.junit.jupiter.api.Disabled;
>> > > import org.junit.Assert.*; --> import static
>> > > org.junit.jupiter.api.Assertions.*;
>> > >
>> > > Additionally, JUnit 4 assertions with failure messages must have their
>> > > parameters swapped because JUnit 4 expects (String message, expected,
>> > > actual) while JUnit 6 Jupiter expects (expected, actual, String
>> message):
>> > >
>> > > assertEquals(String, Object, Object) --> assertEquals(Object, Object,
>> > > String)
>> > > assertTrue(String, boolean) --> assertTrue(boolean, String)
>> > > assertFalse(String, boolean) --> assertFalse(boolean, String)
>> > > assertNotNull(String, Object) --> assertNotNull(Object, String)
>> > > assertNull(String, Object) --> assertNull(Object, String)
>> > > assertSame(String, Object, Object) --> assertSame(Object, Object,
>> String)
>> > > assertNotSame(String, Object, Object) --> assertNotSame(Object,
>> Object,
>> > > String)
>> > >
>> > > And the following changes are also done in this commit:
>> > >
>> > > -    @Before
>> > > +    @BeforeEach
>> > >
>> > > -    @After
>> > > +    @AfterEach
>> > >
>> > > Important Reference Link:
>> > > https://docs.junit.org/6.1.0/migrating-from-junit4.html
>> > > =================================
>> > >
>> > > Here is the PR for this work.
>> > >
>> > > https://github.com/apache/ofbiz-framework/pull/1301
>> > >
>> > >
>> >
>> https://github.com/apache/ofbiz-framework/compare/trunk...ashishvijaywargiya:ofbiz-framework:junit-migration-from-v4-to-v6
>> > >
>> > > I will wait for Apache OFBiz community members' feedback for the next
>> 2-
>> > 4
>> > > days, and then I will merge my PR into the ofbiz trunk.
>> > >
>> > > Thank you!
>> > >
>> > > --
>> > > Kind Regards,
>> > > Ashish Vijaywargiya
>> > > Vice President of Operations
>> > > *HotWax Systems*
>> > > *Enterprise open source experts*
>> > > http://www.hotwaxsystems.com
>> > >
>> > >
>> > >
>> > > On Wed, May 27, 2026 at 3:50 PM Ashish Vijaywargiya <
>> > > [email protected]> wrote:
>> > >
>> > >> Dear All,
>> > >>
>> > >> Yesterday, I was looking at the following Jira ticket:
>> > >> https://issues.apache.org/jira/browse/OFBIZ-13138
>> > >>
>> > >> Then I thought to start a discussion around migrating the Apache
>> OFBiz
>> > >> testing framework from JUnit 4 to JUnit 6 (JUnit Platform + Jupiter
>> > >> ecosystem).
>> > >>
>> > >> Currently, the OFBiz trunk codebase is primarily based on JUnit 4.
>> While
>> > >> JUnit 4 has served the Java ecosystem well for many years, the JUnit
>> > team
>> > >> has officially placed JUnit 4 into maintenance mode(see reference
>> link
>> > >> below). According to the official JUnit project, only critical bug
>> fixes
>> > >> and security updates are expected going forward, while active
>> innovation
>> > >> and ecosystem improvements are focused on the JUnit Platform and
>> Jupiter
>> > >> ecosystem.
>> > >>
>> > >> Because of this, migrating OFBiz to JUnit 6 could provide long-term
>> > >> benefits in maintainability, modernization, ecosystem alignment, and
>> > >> testing capabilities.
>> > >>
>> > >> Some key benefits of migrating to JUnit 6 include:
>> > >>
>> > >> 1. Modern Testing Architecture
>> > >> JUnit 6 is built on the JUnit Platform architecture, which provides:
>> > >>
>> > >> * better modularity,
>> > >> * improved extensibility,
>> > >> * cleaner integrations,
>> > >> * and modern testing infrastructure.
>> > >>
>> > >> 2. Gradual Migration Support
>> > >> JUnit Vintage allows existing JUnit 4 tests to continue running while
>> > new
>> > >> tests are written using Jupiter APIs.
>> > >> This enables incremental migration without requiring a complete
>> rewrite
>> > of
>> > >> the entire OFBiz test suite.
>> > >>
>> > >> 3. Better Test Organization
>> > >> JUnit Jupiter introduces modern testing features such as:
>> > >>
>> > >> * @Nested tests,
>> > >> * @DisplayName,
>> > >> * grouped assertions using assertAll(),
>> > >> * dynamic tests,
>> > >> * and cleaner lifecycle handling.
>> > >>
>> > >> These features improve the readability and maintainability of complex
>> > test
>> > >> suites.
>> > >>
>> > >> 4. Improved Extension Model
>> > >> - JUnit 6 replaces the older Runner and Rule model with a much
>> cleaner
>> > >> extension architecture.
>> > >> - This makes custom testing utilities easier to develop and maintain.
>> > >>
>> > >> 5. Enhanced Parameterized Testing
>> > >> - JUnit Jupiter significantly improves support for parameterized
>> tests
>> > >> using:
>> > >>
>> > >> * CSV sources,
>> > >> * method sources,
>> > >> * enum sources,
>> > >> * and custom argument providers.
>> > >>
>> > >> This can help reduce repetitive test code across OFBiz modules.
>> > >>
>> > >> 6. Dependency Injection Support
>> > >> - JUnit Jupiter provides built-in parameter injection support for
>> > >> lifecycle methods and test methods.
>> > >> - This helps simplify test setup logic and reduces boilerplate code.
>> > >>
>> > >> 7. Conditional Test Execution
>> > >> - JUnit 6 supports conditional execution annotations such as:
>> > >>
>> > >> * @EnabledOnOs,
>> > >> * @EnabledOnJre,
>> > >> * @EnabledIfEnvironmentVariable,
>> > >> * and @DisabledIfSystemProperty.
>> > >>
>> > >> These features are useful for CI/CD pipelines and
>> environment-specific
>> > >> test execution.
>> > >>
>> > >> 8. Parallel Test Execution
>> > >> - Modern JUnit versions provide better support for parallel execution
>> > >> which can help reduce overall CI execution time for large test
>> suites.
>> > >>
>> > >> 9. Improved IDE and Tooling Support
>> > >> - Modern IDEs and build tools provide much stronger support for JUnit
>> > >> Jupiter:
>> > >>
>> > >> * improved debugging,
>> > >> * richer test reporting,
>> > >> * enhanced navigation,
>> > >> * better parameterized test visualization,
>> > >> * and improved test discovery.
>> > >>
>> > >> 10. Better Ecosystem Alignment
>> > >> - Most modern Java frameworks, libraries, plugins, and testing
>> utilities
>> > >> are actively aligned with the JUnit Platform ecosystem.
>> > >> - Migrating OFBiz helps keep the project aligned with modern Java
>> > >> development practices.
>> > >>
>> > >> 11. Unified and Cleaner Dependency Management
>> > >> - JUnit 6 provides unified versioning across Platform, Jupiter, and
>> > >> Vintage modules, which simplifies dependency management and reduces
>> > >> compatibility complexity.
>> > >>
>> > >> 12. Long-Term Sustainability
>> > >> - Since JUnit 4 is now in maintenance mode, continued reliance on it
>> > >> increases long-term technical debt.
>> > >> - Migrating to JUnit 6 helps future-proof the OFBiz testing
>> > infrastructure.
>> > >>
>> > >> A few reference links:
>> > >> https://docs.junit.org/6.1.0/migrating-from-junit4.html
>> > >> https://github.com/junit-team/junit4/blob/main/README.md
>> > >> https://junit.org/
>> > >>
>> > >> I will work on this POC and will share updates soon with the OFBiz
>> > >> community.
>> > >>
>> > >> If you have additional thoughts on this topic, please share.
>> > >> Thank you.
>> > >>
>> > >> --
>> > >> Kind Regards,
>> > >> Ashish Vijaywargiya
>> > >> Vice President of Operations
>> > >> *HotWax Systems*
>> > >> *Enterprise open source experts*
>> > >> http://www.hotwaxsystems.com
>> > >>
>> > >>
>> >
>>
>

Reply via email to