[
https://issues.apache.org/jira/browse/SUREFIRE-2033?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17516340#comment-17516340
]
Robert James Oxspring commented on SUREFIRE-2033:
-------------------------------------------------
Of course my test does not have a `@RunWith` annotation: It's a JUnit 5 test.
It's a perfectly good JUnit 5 test that used to be run by Surefire 3.0.0-M1,
3.0.0-M2, 3.0.0-M3, and 3.0.0-M4. The `@RunWith` annotation was never necessary
before, as Surefire used to run the JUnit 5 test directly using the JUnit 5
Engine because Surefire, as is stil documented, preferred to use the JUnit 5
engine if present.
Surefire 3.0.0-M5 regresses because it newly special cases the
`junit-platform-runner` and so ignores the perfectly good test.
You keep trying to tell me how `junit-platform-runner` should be used, and that
I should delete it from my project. Again I must point out that this is simply
not an option: I do understand `junit-platform-runner` well already as my
project uses it as a compile time dependency which therefore must be present.
The tests of my project exclusively use JUnit 5 and so we have a
`junit-jupiter-engine` test dependency, which always used to be a perfectly
good configuration because Surefire would find multiple engines and pick the
best available - with JUnit 5 being preferred over all others. As of 3.0.0-M5,
`junit-platform-runner` is preferred over all others instead, and results in no
tests being run in the example and in my real project. In both the attached
example and my real project, this new behaviour is a clear regressive step.
For 3.0.0-M5 to actively change the priorities and actively optimise for users
who are transitioning from JUnit 4 to 5, at the cost of those that have already
completed the transition seems crazy to me.
> 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)