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

# Class JUnitTest

java.lang.Object
org.apache.tools.ant.taskdefs.optional.junit.BaseTest
org.apache.tools.ant.taskdefs.optional.junit.JUnitTest

All Implemented Interfaces:
  `Cloneable`

public class JUnitTest extends BaseTest implements Cloneable
Run a single JUnit test.

The JUnit test is actually run by `JUnitTestRunner`. So read the doc comments for that class :)

Since:
  Ant 1.2
See Also:
  - `JUnitTask`
  - `JUnitTestRunner`

## Field Summary

### Fields inherited from class org.apache.tools.ant.taskdefs.optional.junit.BaseTest

`destDir, errorProperty, failureProperty, filtertrace, fork, formatters, haltOnError, haltOnFail, ifProperty, unlessProperty`

## Constructor Summary

Constructors
Constructor
Description
`JUnitTest()`
No arg constructor.
`JUnitTest(String name)`
Constructor with name.
`JUnitTest(String name, boolean haltOnError, boolean haltOnFailure, boolean filtertrace)`
Constructor with options.
`JUnitTest(String name, boolean haltOnError, boolean haltOnFailure, boolean filtertrace, String[] methods)`
Constructor with options.
`JUnitTest(String name, boolean haltOnError, boolean haltOnFailure, boolean filtertrace, String[] methods, int thread)`
Constructor with options.

## Method Summary

Modifier and Type
Method
Description
`Object`
`clone()`
`long`
`errorCount()`
Get the number of errors.
`long`
`failureCount()`
Get the number of failures.
`FormatterElement[]`
`getFormatters()`
Get the formatters set for this test.
`String`
`getName()`
Get the name of the test class.
`String`
`getOutfile()`
Get the name of the output file
`Properties`
`getProperties()`
Get the properties used in the test.
`long`
`getRunTime()`
Get the run time.
`int`
`getThread()`
Get the Ant id of the thread running the test.
`static String[]`
`parseTestMethodNamesList(String methodNames)`
Parses a comma-separated list of method names and check their validity.
`long`
`runCount()`
Get the number of runs.
`void`
`setCounts(long runs, long failures, long errors)`
Set the number of runs, failures, errors, and skipped tests.
`void`
`setCounts(long runs, long failures, long errors, long skips)`
Set the number of runs, failures, errors, and skipped tests.
`void`
`setMethods(String value)`
Sets names of individual test methods to be executed.
`void`
`setName(String value)`
Set the name of the test class.
`void`
`setOutfile(String value)`
Set the name of the output file.
`void`
`setProperties(Hashtable<?,?> p)`
Set the properties to be used in the test.
`void`
`setRunTime(long runTime)`
Set the runtime.
`void`
`setThread(int thread)`
Set the thread id
`boolean`
`shouldRun(Project p)`
Check if this test should run based on the if and unless attributes.
`long`
`skipCount()`
Get the number of skipped tests.

### Methods inherited from class org.apache.tools.ant.taskdefs.optional.junit.BaseTest

`addFormatter, getErrorProperty, getFailureProperty, getFiltertrace, getFork, getHaltonerror, getHaltonfailure, getIfCondition, getTodir, getUnlessCondition, isSkipNonTests, setErrorProperty, setFailureProperty, setFiltertrace, setFork, setHaltonerror, setHaltonfailure, setIf, setIf, setSkipNonTests, setTodir, setUnless, setUnless`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### JUnitTest

public JUnitTest()
No arg constructor.

### JUnitTest

public JUnitTest(String name)
Constructor with name.

Parameters:
  `name` - the name of the test.

### JUnitTest

public JUnitTest(String name, boolean haltOnError, boolean haltOnFailure, boolean filtertrace)
Constructor with options.

Parameters:
  `name` - the name of the test.
  `haltOnError` - if true halt the tests if there is an error.
  `haltOnFailure` - if true halt the tests if there is a failure.
  `filtertrace` - if true filter stack traces.

### JUnitTest

public JUnitTest(String name, boolean haltOnError, boolean haltOnFailure, boolean filtertrace, String[] methods)
Constructor with options.

Parameters:
  `name` - the name of the test.
  `haltOnError` - if true halt the tests if there is an error.
  `haltOnFailure` - if true halt the tests if there is a failure.
  `filtertrace` - if true filter stack traces.
  `methods` - if non-null run only these test methods
Since:
  1.8.2

### JUnitTest

public JUnitTest(String name, boolean haltOnError, boolean haltOnFailure, boolean filtertrace, String[] methods, int thread)
Constructor with options.

Parameters:
  `name` - the name of the test.
  `haltOnError` - if true halt the tests if there is an error.
  `haltOnFailure` - if true halt the tests if there is a failure.
  `filtertrace` - if true filter stack traces.
  `methods` - if non-null run only these test methods
  `thread` - Ant thread ID in which test is currently running
Since:
  1.9.4

## Method Details

### setMethods

public void setMethods(String value)
Sets names of individual test methods to be executed.

Parameters:
  `value` - comma-separated list of names of individual test methods to be executed, or `null` if all test methods should be executed
Since:
  1.8.2

### setName

public void setName(String value)
Set the name of the test class.

Parameters:
  `value` - the name to use.

### setThread

public void setThread(int thread)
Set the thread id

Parameters:
  `thread` - the Ant id of the thread running this test (this is not the system process or thread id) (this will be 0 in single-threaded mode).
Since:
  Ant 1.9.4

### setOutfile

public void setOutfile(String value)
Set the name of the output file.

Parameters:
  `value` - the name of the output file to use.

### parseTestMethodNamesList

public static String[] parseTestMethodNamesList(String methodNames) throws IllegalArgumentException
Parses a comma-separated list of method names and check their validity.

Parameters:
  `methodNames` - comma-separated list of method names to be parsed
Returns:
  array of individual test method names
Throws:
  `IllegalArgumentException` - if the given string is `null` or if it is not a comma-separated list of valid Java identifiers; an empty string is acceptable and is handled as an empty list
Since:
  1.8.2

### getName

public String getName()
Get the name of the test class.

Returns:
  the name of the test.

### getThread

public int getThread()
Get the Ant id of the thread running the test.

Returns:
  the thread id

### getOutfile

public String getOutfile()
Get the name of the output file

Returns:
  the name of the output file.

### setCounts

public void setCounts(long runs, long failures, long errors)
Set the number of runs, failures, errors, and skipped tests.

Parameters:
  `runs` - the number of runs.
  `failures` - the number of failures.
  `errors` - the number of errors. Kept for backward compatibility with Ant 1.8.4

### setCounts

public void setCounts(long runs, long failures, long errors, long skips)
Set the number of runs, failures, errors, and skipped tests.

Parameters:
  `runs` - the number of runs.
  `failures` - the number of failures.
  `errors` - the number of errors.
  `skips` - the number of skipped tests.
Since:
  Ant 1.9.0

### setRunTime

public void setRunTime(long runTime)
Set the runtime.

Parameters:
  `runTime` - the time in milliseconds.

### runCount

public long runCount()
Get the number of runs.

Returns:
  the number of runs.

### failureCount

public long failureCount()
Get the number of failures.

Returns:
  the number of failures.

### errorCount

public long errorCount()
Get the number of errors.

Returns:
  the number of errors.

### skipCount

public long skipCount()
Get the number of skipped tests.

Returns:
  the number of skipped tests.

### getRunTime

public long getRunTime()
Get the run time.

Returns:
  the run time in milliseconds.

### getProperties

public Properties getProperties()
Get the properties used in the test.

Returns:
  the properties.

### setProperties

public void setProperties(Hashtable<?,?> p)
Set the properties to be used in the test.

Parameters:
  `p` - the properties. This is a copy of the projects ant properties.

### shouldRun

public boolean shouldRun(Project p)
Check if this test should run based on the if and unless attributes.

Parameters:
  `p` - the project to use to check if the if and unless properties exist in.
Returns:
  true if this test or testsuite should be run.

### getFormatters

public FormatterElement[] getFormatters()
Get the formatters set for this test.

Returns:
  the formatters as an array.

### clone

public Object clone()

Overrides:
  `clone` in class `Object`
Returns:
  a clone of this test.
Since:
  Ant 1.5