[ http://jira.codehaus.org/browse/SUREFIRE-42?page=all ]
Brett Porter updated SUREFIRE-42:
---------------------------------
Fix Version/s: 2.1
> TestListenerInvocationHandler incorrectly assumes getName()
> -----------------------------------------------------------
>
> Key: SUREFIRE-42
> URL: http://jira.codehaus.org/browse/SUREFIRE-42
> Project: surefire
> Issue Type: Bug
> Affects Versions: 2.0
> Reporter: Matthew Beermann
> Fix For: 2.1
>
> Attachments: patch.txt
>
>
> 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