Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
JDT UI/JUnit 5 Plan
Must be fixed:
- Bug 502563 - APIs to get FQNs and type signatures of method parameter types - JDT Core (Jay)
- Use the above APIs in JDT UI at all relevant places and check if everything works - open action, xml serializer/parser may need special handling
- Bug 518163 - Add support for launching JUnit 5 plug-in tests - PDE (Vikas)
- Add test setup and test cases for JUnit 5 work
- Check that JUnit compatibility is maintained in Eclipse (should be able to use old junit.runtime bundles with new junit.core/ui bundles) and fix issues, if any
- Do proper testing (also with custom test engines) and fix bugs
- Support TestDescriptors with type container_and_test, currently we assume that a test descriptor can be either a test or a container
- Support arrays and parameterized types as test parameters
- Go through release notes and fixed GitHub issues from JUnit 5 M5, M6, RC1, RC2, RC3 to identify issues/support required in Eclipse and fix them
Other tasks (must be fixed):
- Create Marketplace entry for JUnit 5 support
- Uploading sources and getting CQs approved for JUnit 5 RC2, RC3 and GA
- Adding JUnit 5 RC2, RC3 and GA JARs to Orbit and testing the bundles
- Updating prereqs file with JUnit 5 RC2, RC3 and GA JARs to include in U-builds
- Update jdtOptions.txt (bug 518185)
- Merge BETA_JUNIT5 branch to master and later to R4_7 with correct versions
Should be fixed:
- Add provision to use @Tag filtering in Eclipse - needs investigation first on how this can be supported in Eclipse
- Support selectors and TestSources other than class and method - needs investigation first to check if this can be supported
- Support for running JUnit 5 tests with JUnit 4 launcher - needs investigation to see if anything is required here
Nice to have (mostly out of scope for the first release):
- Provide quick assists to migrate from JUnit 4 to JUnit 5:
- To replace JUnit 4 @Test with JUnit 5 @Test
- To replace @Before, @After, @BeforeClass, @AfterClass with the corresponding new annotations
- To replace @Ignore with @Disable
- To remove 'public' access modifiers etc.
- Needs investigation for other possibilities