[ https://issues.apache.org/jira/browse/SUREFIRE-2033?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17509342#comment-17509342 ]
Tibor Digana edited comment on SUREFIRE-2033 at 3/19/22, 9:30 PM: ------------------------------------------------------------------ [~sjaranowski] [~roxspring] The documentation exists very long time. https://maven.apache.org/surefire/maven-surefire-plugin/examples/junit-platform.html The Surefire is very intelligent because it downloads and uses Vintage and Jupiter engines even if you do not specify them in the project dependencies. It's enough to use API, e.g. org.junit.jupiter:junit-jupiter-api or junit:junit:4.13.2. Let's go back to the problem with {{junit-platform-runner}}. In reality {{junit-platform-runner}} is an adapter from JUnit4 to JUnit5. It is not reach JUnit5 runner. In the Maven perspective it can be used only if you hard code {{surefire-junit4}} provider under the plugin in its dependencies but your project contains dependencies for JUnit5 tests. So the key point of {{junit-platform-runner}} is to have JUnit4 executor (junit4 surefire provider in our case) and JUnit5 tests. This is very silly due to use can use {{surefire-junit-platform}} provider instead of JUnit4 executor and you can avoid using {{junit-platform-runner}}. It is silly to use {{junit-platform-runner}} unless you have a strong resources/financial reason to not spending the time when rewriting JUnit4 Suites to JUnit5 Suites. The JUnit5 would not support {{junit-platform-runner}}. was (Author: tibor17): [~sjaranowski] [~roxspring] The documentation exists very long time. https://maven.apache.org/surefire/maven-surefire-plugin/examples/junit-platform.html The Surefire is very intelligent because it downloads and uses Vintage and Jupiter engines even if you do not specify them in the project dependencies. It's enough to use API, e.g. org.junit.jupiter:junit-jupiter-api or junit:junit:4.13.2. Let's go back to the problem with {{junit-platform-runner}}. In reality {{junit-platform-runner}} is an adapter from JUnit4 to JUnit5. It is not reach JUnit5 runner. In the Maven perspective it can be used only if you hard code {{surefire-junit4}} provider under the plugin in its dependencies but your project contains dependencies for JUnit5 tests. So the key point of {{junit-platform-runner}} is to have JUnit4 executor (junit4 surefire provider in our case) and JUnit5 tests. This is very silly due to use can use {{surefire-junit-platform}} provider instead of JUnit4 executor and you can avoid using {{junit-platform-runner}}. It is silly to use {{junit-platform-runner}} unless you have a strong resources/financial reason to spending the time when rewriting JUnit4 Suites to JUnit5 Suites. The JUnit5 would not support {{junit-platform-runner}}. > Regression: 3.0.0-M5 misidentifies JUnit 5 configuration as JUnit 4 > ------------------------------------------------------------------- > > Key: SUREFIRE-2033 > URL: https://issues.apache.org/jira/browse/SUREFIRE-2033 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support > Affects Versions: 3.0.0-M5 > Reporter: Robert James Oxspring > Priority: Major > Attachments: example.zip > > > 3.0.0-M5 misidentifies a clearly JUnit 5 configuration and attempts to run > using JUnit 4. > In particular the attached project only has JUnit 5 dependencies: > {code:java} > <dependencies> > <dependency> > <groupId>org.junit.jupiter</groupId> > <artifactId>junit-jupiter-engine</artifactId> > <version>5.6.2</version> > <scope>test</scope> > </dependency> > <dependency> > <groupId>org.junit.platform</groupId> > <artifactId>junit-platform-runner</artifactId> > <version>1.6.2</version> > <scope>test</scope> > </dependency> > </dependencies>{code} > and a JUnit 5 test: > {code:java} > package pkg; > import org.junit.jupiter.api.Test; > class JUnit5Test { > @Test > public void test() { > } > }{code} > When the project is run with with older version (as far back as 2.22.0) the > test is found and run, but 3.0.0-M5 fails to run any test: > {code:java} > % mvn test -Dsurefire.version=2.22.0 | tail > [INFO] Results: > [INFO] > [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 > [INFO] > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD SUCCESS > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 1.337 s > [INFO] Finished at: 2022-03-03T09:42:27Z > [INFO] > ------------------------------------------------------------------------ > {code} > > {code:java} > % mvn test -Dsurefire.version=3.0.0-M1 | tail > [INFO] Results: > [INFO] > [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 > [INFO] > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD SUCCESS > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 1.708 s > [INFO] Finished at: 2022-03-03T09:34:58Z > [INFO] > ------------------------------------------------------------------------ > % mvn test -Dsurefire.version=3.0.0-M2 | tail > [INFO] Results: > [INFO] > [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 > [INFO] > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD SUCCESS > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 1.701 s > [INFO] Finished at: 2022-03-03T09:36:26Z > [INFO] > ------------------------------------------------------------------------ > % mvn test -Dsurefire.version=3.0.0-M3 | tail > [INFO] Results: > [INFO] > [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 > [INFO] > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD SUCCESS > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 1.612 s > [INFO] Finished at: 2022-03-03T09:37:02Z > [INFO] > ------------------------------------------------------------------------ > % mvn test -Dsurefire.version=3.0.0-M4 | tail > [INFO] Results: > [INFO] > [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 > [INFO] > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD SUCCESS > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 1.619 s > [INFO] Finished at: 2022-03-03T09:37:37Z > [INFO] > ------------------------------------------------------------------------ > % mvn test -Dsurefire.version=3.0.0-M5 | tail > [INFO] Results: > [INFO] > [INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0 > [INFO] > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD SUCCESS > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 1.344 s > [INFO] Finished at: 2022-03-03T09:38:01Z > [INFO] > ------------------------------------------------------------------------{code} > Note the final run above using 3.0.0-M5 and logging: {{Tests run: 0}} -- This message was sent by Atlassian Jira (v8.20.1#820001)