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