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

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

### Constructor Summary

Constructors
Constructor and Description
`JUnitVersionHelper()`

### Method Summary

Methods
`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)