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

java.lang.Object
  extended by 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 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)