diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitVersionHelper.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitVersionHelper.java index d5335fdfc..25b46c9f6 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitVersionHelper.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitVersionHelper.java @@ -96,9 +96,16 @@ public class JUnitVersionHelper { } catch (Throwable e) {} } else { try { - Method getNameMethod = - t.getClass().getMethod("getName", new Class [0]); - if (getNameMethod.getReturnType() == String.class) { + Method getNameMethod = null; + try { + getNameMethod = + t.getClass().getMethod("getName", new Class [0]); + } catch (NoSuchMethodException e) { + getNameMethod = t.getClass().getMethod("name", + new Class [0]); + } + if (getNameMethod != null && + getNameMethod.getReturnType() == String.class) { return (String) getNameMethod.invoke(t, new Object[0]); } } catch (Throwable e) {} diff --git a/src/testcases/org/apache/tools/ant/taskdefs/optional/junit/JUnitVersionHelperTest.java b/src/testcases/org/apache/tools/ant/taskdefs/optional/junit/JUnitVersionHelperTest.java index 405285195..e39317166 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/optional/junit/JUnitVersionHelperTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/optional/junit/JUnitVersionHelperTest.java @@ -87,6 +87,11 @@ public class JUnitVersionHelperTest extends TestCase { JUnitVersionHelper.getTestCaseName(new Foo3())); } + public void testNameNotGetName() { + assertEquals("I'm a foo, too", + JUnitVersionHelper.getTestCaseName(new Foo4())); + } + public void testNull() { assertEquals("unknown", JUnitVersionHelper.getTestCaseName(null)); } @@ -106,4 +111,9 @@ public class JUnitVersionHelperTest extends TestCase { public static class Foo3 extends Foo { } + + public static class Foo4 extends Foo { + public String name() {return "I'm a foo, too";} + } + }