## 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
`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
`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 Detail

### 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 Detail

### 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