## junit.textui
Class TestRunner

    java.lang.Object
      junit.runner.BaseTestRunner
          junit.textui.TestRunner

All Implemented Interfaces:
  TestListener

    public class TestRunner

extends BaseTestRunner

A command line based tool to run tests.

     java junit.textui.TestRunner [-wait] TestCaseClass

TestRunner expects the name of a TestCase class as argument. If this class defines a static `suite` method it will be invoked and the returned test is run. Otherwise all the methods starting with "test" having no arguments are run.

When the wait command line argument is given TestRunner waits until the users types RETURN.

TestRunner prints a trace as the tests are executed followed by a summary at the end.

Field Summary
`static int` `EXCEPTION_EXIT`
`static int` `FAILURE_EXIT`
`static int` `SUCCESS_EXIT`

Fields inherited from class junit.runner.BaseTestRunner
`SUITE_METHODNAME`

Constructor Summary
`TestRunner()` Constructs a TestRunner.
`TestRunner(PrintStream writer)` Constructs a TestRunner using the given stream for all the output
`TestRunner(ResultPrinter printer)` Constructs a TestRunner using the given ResultPrinter all the output

Method Summary
`protected TestResult` `createTestResult()` Creates the TestResult to be used for the test run.
`TestResult` `doRun(Test test)`
`TestResult` `doRun(Test suite, boolean wait)`
`static void` `main(String[] args)`
`protected void` `pause(boolean wait)`
`static void` `run(Class<? extends TestCase> testClass)` Runs a suite extracted from a TestCase subclass.
`static TestResult` `run(Test test)` Runs a single test and collects its results.
`static void` `runAndWait(Test suite)` Runs a single test and waits until the user types RETURN.
`protected void` `runFailed(String message)` Override to define how to handle a failed loading of a test suite.
`protected TestResult` `runSingleMethod(String testCase, String method, boolean wait)`
`void` `setPrinter(ResultPrinter printer)`
`TestResult` `start(String[] args)` Starts a test run.
`void` `testEnded(String testName)`
`void` `testFailed(int status, Test test, Throwable e)`
`void` `testStarted(String testName)`

Methods inherited from class junit.runner.BaseTestRunner
`addError, addFailure, clearStatus, elapsedTimeAsString, endTest, extractClassName, getFilteredTrace, getFilteredTrace, getPreference, getPreference, getPreferences, getTest, loadSuiteClass, processArguments, savePreferences, setLoading, setPreference, setPreferences, showStackRaw, startTest, truncate, useReloadingTestSuiteLoader`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### SUCCESS_EXIT

    public static final int SUCCESS_EXIT

See Also:
  Constant Field Values

### FAILURE_EXIT

    public static final int FAILURE_EXIT

See Also:
  Constant Field Values

### EXCEPTION_EXIT

    public static final int EXCEPTION_EXIT

See Also:
  Constant Field Values

Constructor Detail

### TestRunner

    public TestRunner()

  Constructs a TestRunner.

### TestRunner

    public TestRunner(PrintStream writer)

  Constructs a TestRunner using the given stream for all the output

### TestRunner

    public TestRunner(ResultPrinter printer)

  Constructs a TestRunner using the given ResultPrinter all the output

Method Detail

### run

    public static void run(Class<? extends TestCase> testClass)

  Runs a suite extracted from a TestCase subclass.

### run

    public static TestResult run(Test test)

  Runs a single test and collects its results. This method can be used to start a test run from your program.

       public static void main (String[] args) {
          test.textui.TestRunner.run(suite());
       }

### runAndWait

    public static void runAndWait(Test suite)

  Runs a single test and waits until the user types RETURN.

### testFailed

    public void testFailed(int status,
                           Test test,
                           Throwable e)

  Specified by:
    `testFailed` in class `BaseTestRunner`

### testStarted

    public void testStarted(String testName)

  Specified by:
    `testStarted` in class `BaseTestRunner`

### testEnded

    public void testEnded(String testName)

  Specified by:
    `testEnded` in class `BaseTestRunner`

### createTestResult

    protected TestResult createTestResult()

  Creates the TestResult to be used for the test run.

### doRun

    public TestResult doRun(Test test)

### doRun

    public TestResult doRun(Test suite,
                            boolean wait)

### pause

    protected void pause(boolean wait)

### main

    public static void main(String[] args)

### start

    public TestResult start(String[] args)
                     throws Exception

  Starts a test run. Analyzes the command line arguments and runs the given test suite.

  Throws:
    `Exception`

### runSingleMethod

    protected TestResult runSingleMethod(String testCase,
                                         String method,
                                         boolean wait)
                                  throws Exception

  Throws:
    `Exception`

### runFailed

    protected void runFailed(String message)

  Description copied from class: `BaseTestRunner`
  Override to define how to handle a failed loading of a test suite.

  Specified by:
    `runFailed` in class `BaseTestRunner`

### setPrinter

    public void setPrinter(ResultPrinter printer)

Copyright © 2002–2020 JUnit. All rights reserved.