Hi again! I created SUREFIRE-2085 [0] for this, as I feel this is a bug or at least not optimal behavior of the the surefire plugin.
- martin [0] https://issues.apache.org/jira/browse/SUREFIRE-2085 Am 03. Mai. 2022 schrieb Martin Höller: > Hi! > > I'm using maven-surefire-plugin 3.0.0-M6 in a multi-module build, with > JUnit 4.13.2. I use JUnit's categories to mark some unit tests as slow > like this: > > @Test > @Category(SlowTest.class) > public void someTests() {...} > > To avoid running slow tests I run mvn like this: > > mvn test -DexcludedGroups=SlowTest > > This works basically. But if I have one module without any tests at all, > surefire fails with the following error: > > [ERROR] Failed to execute goal > org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M6:test (default-test) > on project my-api-module: groups/excludedGroups require TestNG, JUnit48+ or > JUnit 5 (a specific engine required on classpath) on project test classpath > -> [Help 1] > > The error is correct. I do not have any of the mentioned > engines/dependencies on classpath, because I don't need them. > > Of course, I could add a dependency to junit, which solves this problem, > but then I have a declared unused dependency, which is ugly. > > I also could skip surefire execution by configuring the plugin: > > <build> > <plugins> > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-surefire-plugin</artifactId> > <configuration> > <skip>true</skip> > </configuration> > </plugin> > </plugins> > </build> > > This is (IMHO) less ugly as the workaround from above, but this adds a > few lines of configuration which must be remembered to be removed, once > unit-tests are written. > > However, I'm still hoping for some clean solution. Any ideas? > > Thanks in advance, > - martin
pgpfqbgN8_2QL.pgp
Description: Digitale Signatur von OpenPGP