org.apache.tools.ant.taskdefs.optional.junit
Class XMLJUnitResultFormatter

java.lang.Object
  extended by org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter
All Implemented Interfaces:
junit.framework.TestListener, IgnoredTestListener, JUnitResultFormatter, JUnitTaskMirror.JUnitResultFormatterMirror, XMLConstants

public class XMLJUnitResultFormatter
extends java.lang.Object
implements JUnitResultFormatter, XMLConstants, IgnoredTestListener

Prints XML output of the test to a specified Writer.

See Also:
FormatterElement

Field Summary
 
Fields inherited from interface org.apache.tools.ant.taskdefs.optional.junit.XMLConstants
ATTR_CLASSNAME, ATTR_ERRORS, ATTR_FAILURES, ATTR_ID, ATTR_MESSAGE, ATTR_NAME, ATTR_PACKAGE, ATTR_SKIPPED, ATTR_TESTS, ATTR_TIME, ATTR_TYPE, ATTR_VALUE, ERROR, FAILURE, HOSTNAME, PROPERTIES, PROPERTY, SYSTEM_ERR, SYSTEM_OUT, TESTCASE, TESTSUITE, TESTSUITES, TIMESTAMP
 
Constructor Summary
XMLJUnitResultFormatter()
          No arg constructor.
 
Method Summary
 void addError(junit.framework.Test test, java.lang.Throwable t)
          Interface TestListener.
 void addFailure(junit.framework.Test test, junit.framework.AssertionFailedError t)
          Interface TestListener for JUnit > 3.4.
 void addFailure(junit.framework.Test test, java.lang.Throwable t)
          Interface TestListener for JUnit <= 3.4.
 void endTest(junit.framework.Test test)
          Interface TestListener.
 void endTestSuite(JUnitTest suite)
          The whole testsuite ended.
 void formatSkip(junit.framework.Test test, java.lang.String message)
           
 void setOutput(java.io.OutputStream out)
          Sets the stream the formatter is supposed to write its results to.
 void setSystemError(java.lang.String out)
          This is what the test has written to System.err
 void setSystemOutput(java.lang.String out)
          This is what the test has written to System.out
 void startTest(junit.framework.Test t)
          Interface TestListener.
 void startTestSuite(JUnitTest suite)
          The whole testsuite started.
 void testAssumptionFailure(junit.framework.Test test, java.lang.Throwable failure)
          Receive a report that a test has failed an assumption.
 void testIgnored(junit.framework.Test test)
          Reports when a test has been marked with the @Ignore annotation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XMLJUnitResultFormatter

public XMLJUnitResultFormatter()
No arg constructor.

Method Detail

setOutput

public void setOutput(java.io.OutputStream out)
Sets the stream the formatter is supposed to write its results to..

Specified by:
setOutput in interface JUnitResultFormatter
Specified by:
setOutput in interface JUnitTaskMirror.JUnitResultFormatterMirror
Parameters:
out - the output stream to use.

setSystemOutput

public void setSystemOutput(java.lang.String out)
This is what the test has written to System.out.

Specified by:
setSystemOutput in interface JUnitResultFormatter
Parameters:
out - the string to write.

setSystemError

public void setSystemError(java.lang.String out)
This is what the test has written to System.err.

Specified by:
setSystemError in interface JUnitResultFormatter
Parameters:
out - the string to write.

startTestSuite

public void startTestSuite(JUnitTest suite)
The whole testsuite started.

Specified by:
startTestSuite in interface JUnitResultFormatter
Parameters:
suite - the testsuite.

endTestSuite

public void endTestSuite(JUnitTest suite)
                  throws BuildException
The whole testsuite ended.

Specified by:
endTestSuite in interface JUnitResultFormatter
Parameters:
suite - the testsuite.
Throws:
BuildException - on error.

startTest

public void startTest(junit.framework.Test t)
Interface TestListener.

A new Test is started.

Specified by:
startTest in interface junit.framework.TestListener
Parameters:
t - the test.

endTest

public void endTest(junit.framework.Test test)
Interface TestListener.

A Test is finished.

Specified by:
endTest in interface junit.framework.TestListener
Parameters:
test - the test.

addFailure

public void addFailure(junit.framework.Test test,
                       java.lang.Throwable t)
Interface TestListener for JUnit <= 3.4.

A Test failed.

Parameters:
test - the test.
t - the exception.

addFailure

public void addFailure(junit.framework.Test test,
                       junit.framework.AssertionFailedError t)
Interface TestListener for JUnit > 3.4.

A Test failed.

Specified by:
addFailure in interface junit.framework.TestListener
Parameters:
test - the test.
t - the assertion.

addError

public void addError(junit.framework.Test test,
                     java.lang.Throwable t)
Interface TestListener.

An error occurred while running the test.

Specified by:
addError in interface junit.framework.TestListener
Parameters:
test - the test.
t - the error.

testIgnored

public void testIgnored(junit.framework.Test test)
Description copied from interface: IgnoredTestListener
Reports when a test has been marked with the @Ignore annotation. The parameter should normally be typed to JUnit's JUnit4TestCaseFacade so implementing classes should be able to get the details of the ignore by casting the argument and retrieving the descriptor from the test.

Specified by:
testIgnored in interface IgnoredTestListener
Parameters:
test - the details of the test and failure that have triggered this report.

formatSkip

public void formatSkip(junit.framework.Test test,
                       java.lang.String message)

testAssumptionFailure

public void testAssumptionFailure(junit.framework.Test test,
                                  java.lang.Throwable failure)
Description copied from interface: IgnoredTestListener
Receive a report that a test has failed an assumption. Within JUnit4 this is normally treated as a test being skipped, although how any listener handles this is up to that specific listener.
Note: Tests that throw assumption failures will still report the endTest method, which may differ from how the addError and addFailure methods work, it's up for any implementing classes to handle this.

Specified by:
testAssumptionFailure in interface IgnoredTestListener
Parameters:
test - the details of the test and failure that have triggered this report.
failure - the AssumptionViolatedException thrown from the current assumption failure.