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

## Interface JUnitTaskMirror

All Known Implementing Classes:
  JUnitTaskMirrorImpl

    public interface JUnitTaskMirror

Handles the portions of `JUnitTask` which need to directly access actual JUnit classes, so that junit.jar need not be on Ant's startup classpath. Neither JUnitTask.java nor JUnitTaskMirror.java nor their transitive static deps may import any junit.** classes! Specifically, need to not refer to - JUnitResultFormatter or its subclasses - JUnitVersionHelper - JUnitTestRunner Cf. JUnitTask.SplitLoader#isSplit(String) Public only to permit access from classes in this package; do not use directly.

Since:
  1.7
See Also:
  "bug #38799"

### Nested Class Summary

Nested Classes
`static interface` `JUnitTaskMirror.JUnitResultFormatterMirror` The interface that JUnitResultFormatter extends.
`static interface` `JUnitTaskMirror.JUnitTestRunnerMirror` Interface that test runners implement.
`static interface` `JUnitTaskMirror.SummaryJUnitResultFormatterMirror` The interface that SummaryJUnitResultFormatter extends.

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `addVmExit(JUnitTest test, JUnitTaskMirror.JUnitResultFormatterMirror formatter, java.io.OutputStream out, java.lang.String message, java.lang.String testCase)` Add the formatter to be called when the jvm exits before the test suite finishes.
`JUnitTaskMirror.JUnitTestRunnerMirror` `newJUnitTestRunner(JUnitTest test, java.lang.String[] methods, boolean haltOnError, boolean filterTrace, boolean haltOnFailure, boolean showOutput, boolean logTestListenerEvents, AntClassLoader classLoader)` Create a new test runner for a test.
`JUnitTaskMirror.SummaryJUnitResultFormatterMirror` `newSummaryJUnitResultFormatter()` Create a summary result formatter.

### Method Detail

#### addVmExit

    void addVmExit(JUnitTest test,
                   JUnitTaskMirror.JUnitResultFormatterMirror formatter,
                   java.io.OutputStream out,
                   java.lang.String message,
                   java.lang.String testCase)

Add the formatter to be called when the jvm exits before the test suite finishes.

Parameters:
  `test` - the test.
  `formatter` - the formatter to use.
  `out` - the output stream to use.
  `message` - the message to write out.
  `testCase` - the name of the test.

#### newJUnitTestRunner

    JUnitTaskMirror.JUnitTestRunnerMirror newJUnitTestRunner(JUnitTest test,
                                                             java.lang.String[] methods,
                                                             boolean haltOnError,
                                                             boolean filterTrace,
                                                             boolean haltOnFailure,
                                                             boolean showOutput,
                                                             boolean logTestListenerEvents,
                                                             AntClassLoader classLoader)

Create a new test runner for a test.

Parameters:
  `test` - the test to run.
  `methods` - names of the test methods to be run.
  `haltOnError` - if true halt the tests if an error occurs.
  `filterTrace` - if true filter the stack traces.
  `haltOnFailure` - if true halt the test if a failure occurs.
  `showOutput` - if true show output.
  `logTestListenerEvents` - if true log test listener events.
  `classLoader` - the classloader to use to create the runner.
Returns:
  the test runner.

#### newSummaryJUnitResultFormatter

    JUnitTaskMirror.SummaryJUnitResultFormatterMirror newSummaryJUnitResultFormatter()

Create a summary result formatter.

Returns:
  the created formatter.