PlainJUnitResultFormatter (Apache Ant API)
Date: 2018-07-10

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

## Class PlainJUnitResultFormatter

- java.lang.Object
- - org.apache.tools.ant.taskdefs.optional.junit.PlainJUnitResultFormatter

- All Implemented Interfaces:
    junit.framework.TestListener, IgnoredTestListener, JUnitResultFormatter, JUnitTaskMirror.JUnitResultFormatterMirror

      public class PlainJUnitResultFormatter
      extends java.lang.Object
      implements JUnitResultFormatter, IgnoredTestListener

  Prints plain text output of the test to a specified Writer.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `PlainJUnitResultFormatter()` No arg constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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 err)` 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 throwable)` 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

    - #### PlainJUnitResultFormatter

          public PlainJUnitResultFormatter()

      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 err)

      This is what the test has written to System.err.
      Specified by:
        `setSystemError` in interface `JUnitResultFormatter`
      Parameters:
        `err` - the string to write.

    - #### startTestSuite

          public void startTestSuite(JUnitTest suite)
                              throws BuildException

      The whole testsuite started.
      Specified by:
        `startTestSuite` in interface `JUnitResultFormatter`
      Parameters:
        `suite` - the test suite
      Throws:
        `BuildException` - if unable to write the output

    - #### endTestSuite

          public void endTestSuite(JUnitTest suite)
                            throws BuildException

      The whole testsuite ended.
      Specified by:
        `endTestSuite` in interface `JUnitResultFormatter`
      Parameters:
        `suite` - the test suite
      Throws:
        `BuildException` - if unable to write the output

    - #### 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 that failed.

    - #### 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 exception.

    - #### 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 throwable)

      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.
        `throwable` - the AssumptionViolatedException thrown from the current assumption failure.