[ https://issues.apache.org/jira/browse/SUREFIRE-1453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16294817#comment-16294817 ]
ASF GitHub Bot commented on SUREFIRE-1453: ------------------------------------------ Github user eolivelli commented on the issue: https://github.com/apache/maven-surefire/pull/172 @Tibor17 I have added some IT. I found a bug in JUnit48TestCategoriesIT, actually testCategoriesABForkAlways did not call ".forkAlways()" I have added an IT test for the case of no class matching the filter. I have enhanced the testCategoriesAC in a way that it tests only using Simple Class Names and not Fully Qualified Class Names. In fact I saw that the original idea in was to let the use pass even suffixes: `if ( name.endsWith( enabled ) )` But actually could not work because the 'pattern' had to be a resolvable class name. I did changed names in parameters in JUnit48TestCategoriesIT to make them more "consistent" > Allow to specify non existant classes as "groups" > ------------------------------------------------- > > Key: SUREFIRE-1453 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1453 > Project: Maven Surefire > Issue Type: Improvement > Components: classloading, Junit 4.x support, Maven Surefire Plugin > Affects Versions: 2.19.1 > Reporter: Enrico Olivelli > Assignee: Tibor Digana > Priority: Critical > Fix For: 2.21.0.Jigsaw > > > In a reactor project I would like to run only a subset of JUnit (4.12) tests > tagged with @Category > But the class which defines the category is not present in the dependency > tree of every module. > I get this error. > I would like to simply skip these modules, maybe in conjunction with the > failIfNoTest=false option > {code:java} > rg.apache.maven.surefire.util.SurefireReflectionException: > java.lang.reflect.InvocationTargetException; nested exception is > java.lang.reflect.InvocationTargetException: null > java.lang.reflect.InvocationTargetException > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189) > at > org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165) > at > org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85) > at > org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115) > at > org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75) > Caused by: java.lang.RuntimeException: Unable to load category: > magnews.testgroups.MinimumAcceptance > at > org.apache.maven.surefire.group.match.SingleGroupMatcher.loadGroupClasses(SingleGroupMatcher.java:134) > at > org.apache.maven.surefire.common.junit48.FilterFactory.createGroupFilter(FilterFactory.java:92) > at > org.apache.maven.surefire.junitcore.JUnitCoreProvider.createJUnit48Filter(JUnitCoreProvider.java:183) > at > org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:115) > ... 9 more > Caused by: java.lang.ClassNotFoundException: > magnews.testgroups.MinimumAcceptance > at java.net.URLClassLoader.findClass(URLClassLoader.java:381) > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > at > org.apache.maven.surefire.group.match.SingleGroupMatcher.loadGroupClasses(SingleGroupMatcher.java:130) > ... 12 more > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)