Package org.apache.tools.ant.taskdefs.optional.junitlauncher

## Interface TestResultFormatter

- All Superinterfaces:
    `java.lang.AutoCloseable`, `java.io.Closeable`, `org.junit.platform.launcher.TestExecutionListener`

      public interface TestResultFormatter
      extends org.junit.platform.launcher.TestExecutionListener, java.io.Closeable

  A `TestExecutionListener` which lets implementing classes format and write out the test execution results.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `setContext​(TestExecutionContext context)` | This method will be invoked by the `junitlauncher` and will be passed a `TestExecutionContext`.
    `void` | `setDestination​(java.io.OutputStream os)` | This method will be invoked by the `junitlauncher` and will be passed the `OutputStream` to a file, to which the formatted result is expected to be written to.
    `void` | `setUseLegacyReportingName​(boolean useLegacyReportingName)` | This method will be invoked by the `junitlauncher` to let the result formatter implementation know whether or not to use JUnit 4 style, legacy reporting names for test identifiers that get displayed in the test reports.
    `default void` | `sysErrAvailable​(byte[] data)` | This method will be invoked by the `junitlauncher`, regularly/multiple times, as and when any content is generated on the standard error stream during the test execution.
    `default void` | `sysOutAvailable​(byte[] data)` | This method will be invoked by the `junitlauncher`, regularly/multiple times, as and when any content is generated on the standard output stream during the test execution.

    - ### Methods inherited from interface java.io.Closeable

      `close`

    - ### Methods inherited from interface org.junit.platform.launcher.TestExecutionListener

      `dynamicTestRegistered, executionFinished, executionSkipped, executionStarted, reportingEntryPublished, testPlanExecutionFinished, testPlanExecutionStarted`

- - ### Method Detail

    - #### setDestination

          void setDestination​(java.io.OutputStream os)

      This method will be invoked by the `junitlauncher` and will be passed the `OutputStream` to a file, to which the formatted result is expected to be written to.

      This method will be called once, early on, during the initialization of this `TestResultFormatter`, typically before the test execution itself has started.

      Parameters:
        `os` - The output stream to which to write out the result

    - #### setContext

          void setContext​(TestExecutionContext context)

      This method will be invoked by the `junitlauncher` and will be passed a `TestExecutionContext`. This allows the `TestResultFormatter` to have access to any additional contextual information to use in the test reports.
      Parameters:
        `context` - The context of the execution of the test

    - #### setUseLegacyReportingName

          void setUseLegacyReportingName​(boolean useLegacyReportingName)

      This method will be invoked by the `junitlauncher` to let the result formatter implementation know whether or not to use JUnit 4 style, legacy reporting names for test identifiers that get displayed in the test reports. Result formatter implementations are allowed to default to a specific reporting style for test identifiers, if this method isn't invoked.
      Parameters:
        `useLegacyReportingName` - `true` if legacy reporting name is to be used, `false` otherwise.
      Since:
        Ant 1.10.10

    - #### sysOutAvailable

          default void sysOutAvailable​(byte[] data)

      This method will be invoked by the `junitlauncher`, regularly/multiple times, as and when any content is generated on the standard output stream during the test execution. This method will be only be called if the `sendSysOut` attribute of the `listener`, to which this `TestResultFormatter` is configured for, is enabled
      Parameters:
        `data` - The content generated on standard output stream

    - #### sysErrAvailable

          default void sysErrAvailable​(byte[] data)

      This method will be invoked by the `junitlauncher`, regularly/multiple times, as and when any content is generated on the standard error stream during the test execution. This method will be only be called if the `sendSysErr` attribute of the `listener`, to which this `TestResultFormatter` is configured for, is enabled
      Parameters:
        `data` - The content generated on standard error stream