Package 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 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

Constructors
Constructor
Description
`XMLJUnitResultFormatter()`

## Method Summary

Modifier and Type
Method
Description
`void`
`addError(junit.framework.Test test, Throwable t)`
Interface TestListener.
`void`
`addFailure(junit.framework.Test test, Throwable t)`
Interface TestListener for JUnit <= 3.4.
`void`
`addFailure(junit.framework.Test test, junit.framework.AssertionFailedError 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, String message)`
`void`
`setOutput(OutputStream out)`
Sets the stream the formatter is supposed to write its results to.
`void`
`setSystemError(String out)`
This is what the test has written to System.err
`void`
`setSystemOutput(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, 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 Details

### XMLJUnitResultFormatter

public XMLJUnitResultFormatter()

## Method Details

### setOutput

public void setOutput(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(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(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, 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, 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, String message)

### testAssumptionFailure

public void testAssumptionFailure(junit.framework.Test test, 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.