You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Brett Porter (JIRA)" <ji...@codehaus.org> on 2007/02/23 08:06:40 UTC

[jira] Updated: (SUREFIRE-42) TestListenerInvocationHandler incorrectly assumes getName()

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

Brett Porter updated SUREFIRE-42:
---------------------------------

    Fix Version/s:     (was: 2.3)
                   2.4

> TestListenerInvocationHandler incorrectly assumes getName()
> -----------------------------------------------------------
>
>                 Key: SUREFIRE-42
>                 URL: http://jira.codehaus.org/browse/SUREFIRE-42
>             Project: Maven Surefire
>          Issue Type: Bug
>    Affects Versions: 2.0 (2.2 plugin)
>            Reporter: Matthew Beermann
>             Fix For: 2.4
>
>         Attachments: patch.txt, SUREFIRE-42-surefire-junit.patch
>
>
> I'm running test cases that extend our own custom base test case. If one of the tests fails, Surefire itself fails:
> org.apache.maven.surefire.booter.SurefireExecutionException: com.cerner.system.util.CalendarsTest; nested exception is java.lang.reflect.UndeclaredThrowableException: null; nested exception is org.apache.maven.surefire.testset.TestSetFailedException: com.cerner.system.util.CalendarsTest; nested exception is java.lang.reflect.UndeclaredThrowableException: null
> org.apache.maven.surefire.testset.TestSetFailedException: com.cerner.system.util.CalendarsTest; nested exception is java.lang.reflect.UndeclaredThrowableException: null
> java.lang.reflect.UndeclaredThrowableException
> 	at $Proxy0.addError(Unknown Source)
> 	at junit.framework.TestResult.addError(TestResult.java:36)
> ...
> Caused by: java.lang.NoSuchMethodException: com.cerner.junit.madhatter.classreloader.ReloadedTestCaseDecorator.getName()
> 	at java.lang.Class.getMethod(Class.java:986)
> 	at org.apache.maven.surefire.junit.TestListenerInvocationHandler.getStackTraceWriter(TestListenerInvocationHandler.java:171)
> 	at org.apache.maven.surefire.junit.TestListenerInvocationHandler.handleAddError(TestListenerInvocationHandler.java:160)
> 	at org.apache.maven.surefire.junit.TestListenerInvocationHandler.invoke(TestListenerInvocationHandler.java:134)
> 	... 23 more
> At TestListenerInvocationHandler:171, I see that it's trying to reflect to a method called getName(). This seems like a very poor assumption, given that nothing on the Test or TestListener interfaces guarantees that there'll be a method called getName(). At the very least, shouldn't the NoSuchMethodException be caught and handled somewhere? See: http://www.junit.org/junit/javadoc/3.8.1/index.htm

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