RunListener (JUnit API)
Date: 2016-08-24

org.junit.runner.notification

## Class RunListener

- java.lang.Object
- - org.junit.runner.notification.RunListener

-     public class RunListener
      extends Object

  If you need to respond to the events during a test run, extend `RunListener` and override the appropriate methods. If a listener throws an exception while processing a test event, it will be removed for the remainder of the test run.

  For example, suppose you have a `Cowbell` class that you want to make a noise whenever a test fails. You could write:

       public class RingingListener extends RunListener {
          public void testFailure(Failure failure) {
             Cowbell.ring();
          }
       }

  To invoke your listener, you need to run your tests through `JUnitCore`.

       public void main(String... args) {
          JUnitCore core= new JUnitCore();
          core.addListener(new RingingListener());
          core.run(MyTestClass.class);
       }

  Since:
    4.0
  See Also:
    `JUnitCore`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `RunListener()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `testAssumptionFailure(Failure failure)` Called when an atomic test flags that it assumes a condition that is false
    `void` | `testFailure(Failure failure)` Called when an atomic test fails.
    `void` | `testFinished(Description description)` Called when an atomic test has finished, whether the test succeeds or fails.
    `void` | `testIgnored(Description description)` Called when a test will not be run, generally because a test method is annotated with `Ignore`.
    `void` | `testRunFinished(Result result)` Called when all tests have finished
    `void` | `testRunStarted(Description description)` Called before any tests have been run.
    `void` | `testStarted(Description description)` Called when an atomic test is about to be started.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### RunListener

          public RunListener()

  - ### Method Detail

    - #### testRunStarted

          public void testRunStarted(Description description)
                              throws Exception

      Called before any tests have been run.
      Parameters:
        `description` - describes the tests to be run
      Throws:
        `Exception`

    - #### testRunFinished

          public void testRunFinished(Result result)
                               throws Exception

      Called when all tests have finished
      Parameters:
        `result` - the summary of the test run, including all the tests that failed
      Throws:
        `Exception`

    - #### testStarted

          public void testStarted(Description description)
                           throws Exception

      Called when an atomic test is about to be started.
      Parameters:
        `description` - the description of the test that is about to be run (generally a class and method name)
      Throws:
        `Exception`

    - #### testFinished

          public void testFinished(Description description)
                            throws Exception

      Called when an atomic test has finished, whether the test succeeds or fails.
      Parameters:
        `description` - the description of the test that just ran
      Throws:
        `Exception`

    - #### testFailure

          public void testFailure(Failure failure)
                           throws Exception

      Called when an atomic test fails.
      Parameters:
        `failure` - describes the test that failed and the exception that was thrown
      Throws:
        `Exception`

    - #### testAssumptionFailure

          public void testAssumptionFailure(Failure failure)

      Called when an atomic test flags that it assumes a condition that is false
      Parameters:
        `failure` - describes the test that failed and the `AssumptionViolatedException` that was thrown

    - #### testIgnored

          public void testIgnored(Description description)
                           throws Exception

      Called when a test will not be run, generally because a test method is annotated with `Ignore`.
      Parameters:
        `description` - describes the test that will not be run
      Throws:
        `Exception`