Surefire tries to run JUnit4 tests that contain no @Test annotations
--------------------------------------------------------------------

                 Key: SUREFIRE-482
                 URL: http://jira.codehaus.org/browse/SUREFIRE-482
             Project: Maven Surefire
          Issue Type: Bug
          Components: Junit 4.x support
    Affects Versions: 2.4.2
            Reporter: Mark Hobson
         Attachments: test.zip

Similar to SUREFIRE-346 but for JUnit4, Surefire tries to run classes that 
contain no @Test annotations as tests, resulting in the exception:

java.lang.Exception: No runnable methods
        at 
org.junit.internal.runners.MethodValidator.validateInstanceMethods(MethodValidator.java:32)
        at 
org.junit.internal.runners.MethodValidator.validateMethodsForDefaultRunner(MethodValidator.java:43)
        at 
org.junit.internal.runners.JUnit4ClassRunner.validate(JUnit4ClassRunner.java:36)
        at 
org.junit.internal.runners.JUnit4ClassRunner.<init>(JUnit4ClassRunner.java:27)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
        at 
org.junit.internal.requests.ClassRequest.buildRunner(ClassRequest.java:33)
        at 
org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:28)
        at 
org.apache.maven.surefire.junit4.JUnit4TestSet.<init>(JUnit4TestSet.java:45)
        at 
org.apache.maven.surefire.junit4.JUnit4DirectoryTestSuite.createTestSet(JUnit4DirectoryTestSuite.java:56)
        at 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.locateTestSets(AbstractDirectoryTestSuite.java:96)
        at 
org.apache.maven.surefire.Surefire.createSuiteFromDefinition(Surefire.java:209)
        at org.apache.maven.surefire.Surefire.run(Surefire.java:156)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at 
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338)
        at 
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997)

Such classes should be ignored by Surefire.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to