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
    Modifier and Type | Field and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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)