org.apache.ant.antunit.junit3
Class AntUnitSuite

java.lang.Object
  extended by junit.framework.TestSuite
      extended by org.apache.ant.antunit.junit3.AntUnitSuite
All Implemented Interfaces:
junit.framework.Test

public class AntUnitSuite
extends junit.framework.TestSuite

A JUnit 3 TestSuite that group a suite of AntUnit targets coming from an ant script.


Constructor Summary
AntUnitSuite(java.io.File scriptFile, java.lang.Class rootClass)
          Create a JUnit TestSuite that when executed will run the given ant script.
Note that it is the responsibility of the caller to give the correct File reference.
 
Method Summary
 BuildException getAntInitialisationException()
           
 boolean hasAntInitError()
           
 void run(junit.framework.TestResult testResult)
           
 void runInContainer(java.util.List targetList, AntUnitExecutionNotifier notifier)
          Execute the test suite in a 'container' similar to the ant 'container'.
 void runTest(junit.framework.Test test, junit.framework.TestResult result)
           
 
Methods inherited from class junit.framework.TestSuite
addTest, addTestSuite, countTestCases, createTest, getName, getTestConstructor, setName, testAt, testCount, tests, toString, warning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AntUnitSuite

public AntUnitSuite(java.io.File scriptFile,
                    java.lang.Class rootClass)
Create a JUnit TestSuite that when executed will run the given ant script.
Note that it is the responsibility of the caller to give the correct File reference. Namely, if the File is a relative file, it will be resolve relatively to the execution directory (which might be different different from the project root directory).

Parameters:
scriptFile - AntUnit script file
rootClass - The test class that creates this suite. This is used to give a name to the suite so that an IDE can reexecute this suite.
Method Detail

run

public void run(junit.framework.TestResult testResult)
Specified by:
run in interface junit.framework.Test
Overrides:
run in class junit.framework.TestSuite

runTest

public void runTest(junit.framework.Test test,
                    junit.framework.TestResult result)
Overrides:
runTest in class junit.framework.TestSuite

runInContainer

public void runInContainer(java.util.List targetList,
                           AntUnitExecutionNotifier notifier)
Execute the test suite in a 'container' similar to the ant 'container'. When ant executes a project it redirect the input and the output. In this context we will only redirect output (unit test are not supposed to be interactive).

Parameters:
targetList - The list of test target to execute
notifier - The AntUnit notifier that will receive execution notifications

hasAntInitError

public boolean hasAntInitError()

getAntInitialisationException

public BuildException getAntInitialisationException()