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

    java.lang.Object
      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.