maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rik Smith (JIRA)" <j...@codehaus.org>
Subject [jira] Commented: (SUREFIRE-482) Surefire tries to run JUnit4 tests that contain no @Test annotations
Date Thu, 12 Mar 2009 14:42:12 GMT

    [ 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

        

Mime
View raw message