You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Dan Fabulich (JIRA)" <ji...@codehaus.org> on 2008/04/29 00:42:46 UTC

[jira] Updated: (SUREFIRE-480) Improper TestCase classes incorrectly reported as a failure of the TestSuite class

     [ http://jira.codehaus.org/browse/SUREFIRE-480?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dan Fabulich updated SUREFIRE-480:
----------------------------------

    Fix Version/s: Future

This may be a bug in JUnit itself rather than in Surefire.  The Java stacktrace in this case says something like:

{code}
junit.framework.AssertionFailedError: Class defaultConfiguration.TestBasicTest$1 has no public constructor TestCase(String name) or TestCase()
        at junit.framework.Assert.fail(Assert.java:47)
        at junit.framework.TestSuite$1.runTest(TestSuite.java:263)
        at junit.framework.TestCase.runBare(TestCase.java:127)
        at junit.framework.TestResult$1.protect(TestResult.java:106)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.framework.TestResult.run(TestResult.java:109)
        at junit.framework.TestCase.run(TestCase.java:118)
        at junit.framework.TestSuite.runTest(TestSuite.java:208)
        at junit.framework.TestSuite.run(TestSuite.java:203)
        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:597)
        at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213)
        at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
        at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
        at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
        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:597)
        at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
        at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:995)
{code}

> Improper TestCase classes incorrectly reported as a failure of the TestSuite class
> ----------------------------------------------------------------------------------
>
>                 Key: SUREFIRE-480
>                 URL: http://jira.codehaus.org/browse/SUREFIRE-480
>             Project: Maven Surefire
>          Issue Type: Bug
>          Components: JUnit 3.x support
>    Affects Versions: 2.4.2
>         Environment: OS X 10.5, JDK 1.5.0_13, Maven 2.0.8
>            Reporter: Chad La Joie
>             Fix For: Future
>
>
> surefire creates a synthetic TestSuite from all concrete classes that match its include configuration.  If one of these classes is not a proper JUnit TestCase (for example if it contains no test methods) surefire reports this as a test failure on the junit.framework.TestSuite$1 class, within the summary and surefire report, instead of an issue with the improper test class.  It does correctly flag the improper class as a failure as the plugin reports the test results on console but if you have many tests its easy to miss this.
> It would be nice if, in the summary and the report, the improper test class can be flagged as the failing class instead of the TestSuite class.

-- 
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