Package 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

Fields
Modifier and Type
Field
Description
`static final int`
`EXCEPTION_EXIT`
`static final int`
`FAILURE_EXIT`
`static final int`
`SUCCESS_EXIT`

### Fields inherited from class junit.runner.BaseTestRunner

`SUITE_METHODNAME`

## Constructor Summary

Constructors
Constructor
Description
`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

Modifier and Type
Method
Description
`protected TestResult`
`createTestResult()`
Creates the TestResult to be used for the test run.
`TestResult`
`doRun(Test test)`
`TestResult`
`doRun(Test suite, boolean wait)`
`TestSuiteLoader`
`getLoader()`
Always use the StandardTestSuiteLoader.
`static void`
`main(String[] args)`
`protected void`
`pause(boolean wait)`
`static void`
`run(Class 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 t)`
`void`
`testStarted(String testName)`

### Methods inherited from class junit.runner.BaseTestRunner

`addError, addFailure, clearStatus, elapsedTimeAsString, endTest, extractClassName, getFilteredTrace, getFilteredTrace, getPreference, getPreference, getPreferences, getTest, inMac, inVAJava, 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 Details

### 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 Details

### 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 Details

### run

public static void run(Class 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.

### getLoader

public TestSuiteLoader getLoader()
Always use the StandardTestSuiteLoader. Overridden from BaseTestRunner.

Overrides:
  `getLoader` in class `BaseTestRunner`

### testFailed

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

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)