You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Tibor Digana (JIRA)" <ji...@apache.org> on 2019/03/22 12:26:00 UTC
[jira] [Comment Edited] (SUREFIRE-1651) JUnit5 Vintage +
Maven-Failsafe + Category = ???
[ https://issues.apache.org/jira/browse/SUREFIRE-1651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16798963#comment-16798963 ]
Tibor Digana edited comment on SUREFIRE-1651 at 3/22/19 12:25 PM:
------------------------------------------------------------------
[~sor] Both plugins share the same functionality. You can contact me on our chat.
[~tmi] Using categories only because of separating unit/integration tests is usual user fault of design the tests. The IT test classes have postfix {{IT}} and {{maven-failsafe-plugin}} is used with command {{mvn verify}}. If you want to separate old JUnit4 and JUnit5 tests, do not use categories for that. Simply use some patterns {{<tests>\*\*/old/\*\*/*OldTest</tests>}}, {{<tests>\*\*/new/\*\*/*NewTest</tests>}} on package or class and introduce 2 executions {{<executions> ... </executions>}}} in plugin and each execution can have different configuration {{<configuration> ... </configuration>}} as categories as well.
was (Author: tibor17):
[~sor] Both plugins share the same functionality. You can contact me on our chat.
[~tmi] Using categories only because of separating unit/integration tests is usual user fault of design the tests. The IT test classes have postfix {{IT}} and {{maven-failsafe-plugin}} is used with command {{mvn verify}}. If you want to separate old JUnit4 and JUnit5 tests, do not use categories for that. Simply use some patterns {{<tests>\*\*/old/\*\*/*OldTest</tests>}}, {{<tests>\*\*/new/\*\*/*NewTest</tests>}} on package or class and introduce 3 executions {{<executions> ... </executions>}}} in plugin and each execution can have different configuration {{<configuration> ... </configuration>}} as categories as well.
> JUnit5 Vintage + Maven-Failsafe + Category = ???
> ------------------------------------------------
>
> Key: SUREFIRE-1651
> URL: https://issues.apache.org/jira/browse/SUREFIRE-1651
> Project: Maven Surefire
> Issue Type: Bug
> Components: JUnit 5.x support
> Affects Versions: 2.22.1
> Reporter: Torsten Mingers
> Priority: Major
>
> I finally managed to switch our test infrastructure to JUnit5. Strictly speaking, it is the first step and the "old" tests are all still JUnit4 and run via the Vintage engine.
> I currently have a problem with this combination.
>
> *Some details:*
> We separate unit tests and integration tests with @Category annotations and then filter them out in Surefire and Failsafe. I'll add the setup below.
> Since the change to JUnit5-Vintage, filtering has stopped working and all tests are always running.
> In JUnit5 the filtering happens via Tags. I can not specify these in JUnit4-based tests.
> According to the JUnit5 documentation, the categories should continue to work: https://junit.org/junit5/docs/current/user-guide/#migrating-from-junit4-categories-support
> However, in the documentary of Surefire (or Failsafe) only tags covered: https://maven.apache.org/surefire/maven-surefire-plugin/examples/junit-platform.html
> The configuration for JUnit5 tags is done in _groups_ as previously with the categories in JUnit4. But the configuration does not seem to work when using JUnit5 Vintage engine to run the tests.
> Is there a way to configure the Maven Failsafe and Surefire plugins to work with tags *and* categories?
> For a hint, I would be very grateful.
>
> *Configuration used*
> {code}<plugins>
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-surefire-plugin</artifactId>
> <version>2.22.1</version>
> <configuration>
> <includes>
> <include>**/*.class</include>
> </includes>
> <excludedGroups>
> net.veda.horizon.test.IntegrationTest, net.veda.horizon.test.IntegrationTestGraphDB, net.veda.horizon.test.IntegrationPermissionTest
> </excludedGroups>
> </configuration>
> </plugin>
> </plugins>
> ...
> <profiles>
> <profile>
> <id>integrationtest</id>
> <activation>
> <property>
> <name>integrationTest</name>
> </property>
> </activation>
> <build>
> <plugins>
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-failsafe-plugin</artifactId>
> <version>2.19.1</version>
> <configuration>
> <includes>
> <include>**/*.java</include>
> </includes>
> <groups>net.veda.horizon.test.IntegrationTest</groups>
> </configuration>
> <executions>
> ...
> </executions>
> </plugin>
> </plugins>
> </build>
> </profile>
> ...
> </profiles>{code}
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)