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:
  `java.lang.Cloneable`

    public class JUnitTest
    extends BaseTest
    implements java.lang.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​(java.lang.String name)` | Constructor with name.
`JUnitTest​(java.lang.String name, boolean haltOnError, boolean haltOnFailure, boolean filtertrace)` | Constructor with options.
`JUnitTest​(java.lang.String name, boolean haltOnError, boolean haltOnFailure, boolean filtertrace, java.lang.String[] methods)` | Constructor with options.
`JUnitTest​(java.lang.String name, boolean haltOnError, boolean haltOnFailure, boolean filtertrace, java.lang.String[] methods, int thread)` | Constructor with options.

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`java.lang.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.
`java.lang.String` | `getName()` | Get the name of the test class.
`java.lang.String` | `getOutfile()` | Get the name of the output file
`java.util.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 java.lang.String[]` | `parseTestMethodNamesList​(java.lang.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​(java.lang.String value)` | Sets names of individual test methods to be executed.
`void` | `setName​(java.lang.String value)` | Set the name of the test class.
`void` | `setOutfile​(java.lang.String value)` | Set the name of the output file.
`void` | `setProperties​(java.util.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​(java.lang.String name)
Constructor with name.

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

### JUnitTest

public JUnitTest​(java.lang.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​(java.lang.String name, boolean haltOnError, boolean haltOnFailure, boolean filtertrace, java.lang.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​(java.lang.String name, boolean haltOnError, boolean haltOnFailure, boolean filtertrace, java.lang.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​(java.lang.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​(java.lang.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​(java.lang.String value)
Set the name of the output file.

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

### parseTestMethodNamesList

public static java.lang.String[] parseTestMethodNamesList​(java.lang.String methodNames) throws java.lang.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:
  `java.lang.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 java.lang.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 java.lang.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 java.util.Properties getProperties()
Get the properties used in the test.

Returns:
  the properties.

### setProperties

public void setProperties​(java.util.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 java.lang.Object clone()

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