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

Class JUnitVersionHelper

public class JUnitVersionHelper extends Object

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

Since: Ant 1.7

Field Summary
static StringJUNIT_FRAMEWORK_JUNIT4_TEST_CASE_FACADE
Name of the JUnit4 class we look for.
Method Summary
static StringgetTestCaseClassName(Test test)
Tries to find the name of the class which a test represents across JUnit 3 and 4.
static StringgetTestCaseName(Test t)
JUnit 3.7 introduces TestCase.getName() and subsequent versions of JUnit remove the old name() method.

Field Detail

JUNIT_FRAMEWORK_JUNIT4_TEST_CASE_FACADE

public static final String JUNIT_FRAMEWORK_JUNIT4_TEST_CASE_FACADE
Name of the JUnit4 class we look for. {@value }

Since: Ant 1.7.1

Method Detail

getTestCaseClassName

public static String getTestCaseClassName(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)

getTestCaseName

public static String getTestCaseName(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.