## org.apache.tools.ant.taskdefs.optional.junit
Class JUnitVersionHelper

    java.lang.Object
      org.apache.tools.ant.taskdefs.optional.junit.JUnitVersionHelper

    public class JUnitVersionHelper

extends java.lang.Object

Work around for some changes to the public JUnit API between different JUnit releases.

Since:
  Ant 1.7

Field Summary
`static java.lang.String` `JUNIT_FRAMEWORK_JUNIT4_TEST_CASE_FACADE` Name of the JUnit4 class we look for.

Constructor Summary
`JUnitVersionHelper()`

Method Summary
`static java.lang.String` `getTestCaseClassName(junit.framework.Test test)` Tries to find the name of the class which a test represents across JUnit 3 and 4.
`static java.lang.String` `getTestCaseName(junit.framework.Test t)` JUnit 3.7 introduces TestCase.getName() and subsequent versions of JUnit remove the old name() method.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### JUNIT_FRAMEWORK_JUNIT4_TEST_CASE_FACADE

    public static final java.lang.String JUNIT_FRAMEWORK_JUNIT4_TEST_CASE_FACADE

  Name of the JUnit4 class we look for. "junit.framework.JUnit4TestCaseFacade"

  Since:
    Ant 1.7.1
  See Also:
    Constant Field Values

Constructor Detail

### JUnitVersionHelper

    public JUnitVersionHelper()

Method Detail

### getTestCaseName

    public static java.lang.String getTestCaseName(junit.framework.Test t)

  JUnit 3.7 introduces TestCase.getName() and subsequent versions of JUnit remove the old name() method. This method provides access to the name of a TestCase via reflection that is supposed to work with version before and after JUnit 3.7.

  since Ant 1.5.1 this method will invoke "`public String getName()`" on any implementation of Test if it exists.

  Since Ant 1.7 also checks for JUnit4TestCaseFacade explicitly. This is used by junit.framework.JUnit4TestAdapter.

  Parameters:
    `t` - the test.
  Returns:
    the name of the test.

### getTestCaseClassName

    public static java.lang.String getTestCaseClassName(junit.framework.Test test)

  Tries to find the name of the class which a test represents across JUnit 3 and 4. For Junit4 it parses the toString() value of the test, and extracts it from there.

  Parameters:
    `test` - test case to look at
  Returns:
    the extracted class name.
  Since:
    Ant 1.7.1 (it was private until then)