Skip to content

junit 6 unsupported due to incompatible junit-platform-launcher #66

@orkeilius

Description

@orkeilius

using the plugin on a project with junit-jupiter >= 6.0.0 throw the following error

16:33:53 PIT >> INFO : MINION : 16:33:53 PIT >> SEVERE : Error calculating coverage. Process will exit.
16:33:53 PIT >> INFO : MINION : org.junit.platform.commons.JUnitException: TestEngine with ID 'junit-jupiter' failed to discover tests
16:33:53 PIT >> INFO : MINION : 	at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discoverEngineRoot(EngineDiscoveryOrchestrator.java:160)
16:33:53 PIT >> INFO : MINION : 	at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discoverSafely(EngineDiscoveryOrchestrator.java:132)
16:33:53 PIT >> INFO : MINION : 	at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discover(EngineDiscoveryOrchestrator.java:107)
16:33:53 PIT >> INFO : MINION : 	at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discover(EngineDiscoveryOrchestrator.java:78)
16:33:53 PIT >> INFO : MINION : 	at org.junit.platform.launcher.core.DefaultLauncher.discover(DefaultLauncher.java:110)
16:33:53 PIT >> INFO : MINION : 	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
16:33:53 PIT >> INFO : MINION : 	at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
16:33:53 PIT >> INFO : MINION : 	at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53)
16:33:53 PIT >> INFO : MINION : 	at org.pitest.junit5.JUnit5TestUnitFinder.findTestUnits(JUnit5TestUnitFinder.java:91)
16:33:53 PIT >> INFO : MINION : 	at org.pitest.mutationtest.config.PrioritisingTestUnitFinder.findTestUnits(PrioritisingTestUnitFinder.java:20)
16:33:53 PIT >> INFO : MINION : 	at org.pitest.testapi.execute.FindTestUnits.findTestUnits(FindTestUnits.java:64)
16:33:53 PIT >> INFO : MINION : 	at org.pitest.testapi.execute.FindTestUnits.getTestUnits(FindTestUnits.java:47)
16:33:53 PIT >> INFO : MINION : 	at org.pitest.testapi.execute.FindTestUnits.findTestUnitsForAllSuppliedClasses(FindTestUnits.java:36)
16:33:53 PIT >> INFO : MINION : 	at org.pitest.coverage.execute.CoverageMinion.discoverTests(CoverageMinion.java:169)
16:33:53 PIT >> INFO : MINION : 	at org.pitest.coverage.execute.CoverageMinion.getTestsFromParent(CoverageMinion.java:154)
16:33:53 PIT >> INFO : MINION : 	at org.pitest.coverage.execute.CoverageMinion.main(CoverageMinion.java:82)
16:33:53 PIT >> INFO : MINION : Caused by: org.junit.platform.commons.JUnitException: OutputDirectoryCreator not available; probably due to unaligned versions of the junit-platform-engine and junit-platform-launcher jars on the classpath/module path.
16:33:53 PIT >> INFO : MINION : 	at org.junit.platform.engine.EngineDiscoveryRequest.getOutputDirectoryCreator(EngineDiscoveryRequest.java:112)
16:33:53 PIT >> INFO : MINION : 	at org.junit.jupiter.engine.JupiterTestEngine.discover(JupiterTestEngine.java:72)
16:33:53 PIT >> INFO : MINION : 	at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discoverEngineRoot(EngineDiscoveryOrchestrator.java:152)

this can be fixed by manually adding the correct version in the project pom

        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-launcher</artifactId>
            <version>6.0.1</version>
            <scope>test</scope>
        </dependency>

i guess it similar to #65

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions