Class 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
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String getIgnoreMessage​(junit.framework.Test test)  
      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)
      • getIgnoreMessage

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