[ 
http://jira.codehaus.org/browse/SUREFIRE-482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=169092#action_169092
 ] 

Rik Smith commented on SUREFIRE-482:
------------------------------------

In my current project, support classes for testing can also be named like 
*Test. 
I don't see why this is so strange, and why surefire cannot silently ignore 
this. The class doesn't extend testcase (which is by my knowledge required by 
JUnit 3) and it does not  have any annotations  (Isn't this also required for 
JUnit 4?)

This generates a lot of false failed tests.

> 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