Class AntUnit

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.ant.antunit.AntUnit
All Implemented Interfaces:
Cloneable

public class AntUnit extends org.apache.tools.ant.Task
Run every target whose name starts with "test" in a set of build files.

Run the "setUp" target before each of them if present, same for "tearDown" after each "test*" target (targets named just "test" are ignored). If a target throws an AssertionFailedException, the test has failed; any other exception is considered an error (although BuildException will be scanned recursively for nested AssertionFailedExceptions).

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    private class 
    Adapts AntUnitListener to BuildListener.
    static class 
     
    static class 
    Defines a collection of inherited references, with an optional nested Mapper that maps them to new reference IDs in the target project.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private org.apache.tools.ant.types.resources.Union
    The build files to process.
    static final String
    Message if no tests have been specified.
    static final String
    Message if non-File resources have been specified.
    static final String
    Message to print if an error or failure occured.
    private String
    Name of a property to set in case of an error.
    private int
    has an error occured?
    private boolean
    stop testing if an error or failure occurs?
    private int
    has a failure occured?
    private ArrayList
    listeners.
     
    private ArrayList
    propertysets.
    private ArrayList
    Holds references to be inherited by the test project
    The object responsible for the execution of the unit test.

    Fields inherited from class org.apache.tools.ant.Task

    target, taskName, taskType, wrapper

    Fields inherited from class org.apache.tools.ant.ProjectComponent

    description, location, project
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Add a test listener.
    void
    add(org.apache.tools.ant.types.ResourceCollection rc)
    Add build files to run as tests.
    void
    addPropertySet(org.apache.tools.ant.types.PropertySet ps)
    Add a PropertySet.
    void
    Add an inherited reference.
    private void
    attachListeners(File buildFile, org.apache.tools.ant.Project p)
    Wraps all registered test listeners in BuildListeners and attaches them to the new project instance.
    private org.apache.tools.ant.Project
    Creates a new project instance and configures it.
    Add a set of inherited references.
    private void
    Processes a single build file.
    private void
    doResourceCollection(org.apache.tools.ant.types.ResourceCollection rc)
    Processes a ResourceCollection.
    void
    Execute the tests.
    private void
    fireEndTest(String targetName)
    invokes endTest on all registered test listeners.
    private void
    fireError(String targetName, Throwable t)
    invokes addError on all registered test listeners.
    private void
    invokes addFailure on all registered test listeners.
    private void
    fireStartTest(String targetName)
    invokes start on all registered test listeners.
    void
    handleErrorFlush(String errorOutputToFlush)
    Redirect error flush to new project instance.
    void
    handleErrorOutput(String errorOutputToHandle)
    Redirect error output to new project instance.
    void
    Redirect flush to new project instance.
    int
    handleInput(byte[] buffer, int offset, int length)
    Redirect input to new project instance.
    void
    handleOutput(String outputToHandle)
    Redirect output to new project instance.
    void
    Set the name of a property to set if an error or failure occurs.
    void
    setFailOnError(boolean failOnError)
    Set whether to stop testing if an error or failure occurs?

    Methods inherited from class org.apache.tools.ant.Task

    bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType

    Methods inherited from class org.apache.tools.ant.ProjectComponent

    clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • ERROR_TESTS_FAILED

      public static final String ERROR_TESTS_FAILED
      Message to print if an error or failure occured.
      See Also:
    • ERROR_NO_TESTS

      public static final String ERROR_NO_TESTS
      Message if no tests have been specified.
      See Also:
    • ERROR_NON_FILES

      public static final String ERROR_NON_FILES
      Message if non-File resources have been specified.
      See Also:
    • buildFiles

      private org.apache.tools.ant.types.resources.Union buildFiles
      The build files to process.
    • notifier

      private AntUnitExecutionNotifier notifier
    • scriptRunner

      private AntUnitScriptRunner scriptRunner
      The object responsible for the execution of the unit test. scriptRunner is invoked to executes the targets and keep the reference to the project. scriptRunner is defined only when the antunit script is running.
    • listeners

      private ArrayList listeners
      listeners.
    • propertySets

      private ArrayList propertySets
      propertysets.
    • referenceSets

      private ArrayList referenceSets
      Holds references to be inherited by the test project
    • failures

      private int failures
      has a failure occured?
    • errors

      private int errors
      has an error occured?
    • failOnError

      private boolean failOnError
      stop testing if an error or failure occurs?
    • errorProperty

      private String errorProperty
      Name of a property to set in case of an error.
  • Constructor Details

    • AntUnit

      public AntUnit()
  • Method Details

    • add

      public void add(org.apache.tools.ant.types.ResourceCollection rc)
      Add build files to run as tests.
      Parameters:
      rc - the ResourceCollection to add.
    • add

      public void add(AntUnitListener al)
      Add a test listener.
      Parameters:
      al - the AntUnitListener to add.
    • addPropertySet

      public void addPropertySet(org.apache.tools.ant.types.PropertySet ps)
      Add a PropertySet.
      Parameters:
      ps - the PropertySet to add.
    • createReferenceSet

      public AntUnit.ReferenceSet createReferenceSet()
      Add a set of inherited references.
      Returns:
      set of inherited references
    • addReference

      public void addReference(AntUnit.Reference reference)
      Add an inherited reference.
      Parameters:
      reference - inherited reference
    • setErrorProperty

      public void setErrorProperty(String s)
      Set the name of a property to set if an error or failure occurs.
      Parameters:
      s - the name of the error property.
    • setFailOnError

      public void setFailOnError(boolean failOnError)
      Set whether to stop testing if an error or failure occurs?
      Parameters:
      failOnError - default true
    • execute

      public void execute()
      Execute the tests.
      Overrides:
      execute in class org.apache.tools.ant.Task
    • doResourceCollection

      private void doResourceCollection(org.apache.tools.ant.types.ResourceCollection rc)
      Processes a ResourceCollection.
    • doFile

      private void doFile(File f)
      Processes a single build file.
    • handleOutput

      public void handleOutput(String outputToHandle)
      Redirect output to new project instance.
      Overrides:
      handleOutput in class org.apache.tools.ant.Task
      Parameters:
      outputToHandle - the output to handle.
    • handleInput

      public int handleInput(byte[] buffer, int offset, int length) throws IOException
      Redirect input to new project instance.
      Overrides:
      handleInput in class org.apache.tools.ant.Task
      Parameters:
      buffer - the buffer containing the input.
      offset - the offset into buffer.
      length - the length of the data.
      Throws:
      IOException
    • handleFlush

      public void handleFlush(String toFlush)
      Redirect flush to new project instance.
      Overrides:
      handleFlush in class org.apache.tools.ant.Task
      Parameters:
      toFlush - the output String to flush.
    • handleErrorOutput

      public void handleErrorOutput(String errorOutputToHandle)
      Redirect error output to new project instance.
      Overrides:
      handleErrorOutput in class org.apache.tools.ant.Task
      Parameters:
      errorOutputToHandle - the error output to handle.
    • handleErrorFlush

      public void handleErrorFlush(String errorOutputToFlush)
      Redirect error flush to new project instance.
      Overrides:
      handleErrorFlush in class org.apache.tools.ant.Task
      Parameters:
      errorOutputToFlush - the error output to flush.
    • createProjectForFile

      private org.apache.tools.ant.Project createProjectForFile(File f)
      Creates a new project instance and configures it.
      Parameters:
      f - the File for which to create a Project.
    • attachListeners

      private void attachListeners(File buildFile, org.apache.tools.ant.Project p)
      Wraps all registered test listeners in BuildListeners and attaches them to the new project instance.
      Parameters:
      buildFile - a build file.
      p - the Project to attach to.
    • fireStartTest

      private void fireStartTest(String targetName)
      invokes start on all registered test listeners.
      Parameters:
      targetName - the name of the target.
    • fireFail

      private void fireFail(String targetName, AssertionFailedException ae)
      invokes addFailure on all registered test listeners.
      Parameters:
      targetName - the name of the failed target.
      ae - the associated AssertionFailedException.
    • fireError

      private void fireError(String targetName, Throwable t)
      invokes addError on all registered test listeners.
      Parameters:
      targetName - the name of the failed target.
      t - the associated Throwable.
    • fireEndTest

      private void fireEndTest(String targetName)
      invokes endTest on all registered test listeners.
      Parameters:
      targetName - the name of the current target.