TestWatchman (JUnit API)
Date: 2018-08-04

org.junit.rules

## Class TestWatchman

- java.lang.Object
- - org.junit.rules.TestWatchman

- All Implemented Interfaces:
    MethodRule

  Deprecated.
  Use `TestWatcher` (which implements `TestRule`) instead.

      @Deprecated
      public class TestWatchman
      extends java.lang.Object
      implements MethodRule

  TestWatchman is a base class for Rules that take note of the testing action, without modifying it. For example, this class will keep a log of each passing and failing test:

       public static class WatchmanTest {
        private static String watchedLog;

        @Rule
        public MethodRule watchman= new TestWatchman() {
            @Override
            public void failed(Throwable e, FrameworkMethod method) {
                watchedLog+= method.getName() + " " + e.getClass().getSimpleName()
                        + "\n";
               }

            @Override
            public void succeeded(FrameworkMethod method) {
                watchedLog+= method.getName() + " " + "success!\n";
               }
           };

        @Test
        public void fails() {
            fail();
           }

        @Test
        public void succeeds() {
           }
       }

  Since:
    4.7

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `TestWatchman()` Deprecated.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Statement` | `apply(Statement base, FrameworkMethod method, java.lang.Object target)` Deprecated. Modifies the method-running `Statement` to implement an additional test-running rule.
    `void` | `failed(java.lang.Throwable e, FrameworkMethod method)` Deprecated. Invoked when a test method fails
    `void` | `finished(FrameworkMethod method)` Deprecated. Invoked when a test method finishes (whether passing or failing)
    `void` | `starting(FrameworkMethod method)` Deprecated. Invoked when a test method is about to start
    `void` | `succeeded(FrameworkMethod method)` Deprecated. Invoked when a test method succeeds

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

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

- - ### Constructor Detail

    - #### TestWatchman

          public TestWatchman()

      Deprecated.

  - ### Method Detail

    - #### apply

          public Statement apply(Statement base,
                        FrameworkMethod method,
                        java.lang.Object target)

      Deprecated.
      Description copied from interface: `MethodRule`
      Modifies the method-running `Statement` to implement an additional test-running rule.
      Specified by:
        `apply` in interface `MethodRule`
      Parameters:
        `base` - The `Statement` to be modified
        `method` - The method to be run
        `target` - The object on which the method will be run.
      Returns:
        a new statement, which may be the same as `base`, a wrapper around `base`, or a completely new Statement.

    - #### succeeded

          public void succeeded(FrameworkMethod method)

      Deprecated.
      Invoked when a test method succeeds

    - #### failed

          public void failed(java.lang.Throwable e,
                    FrameworkMethod method)

      Deprecated.
      Invoked when a test method fails

    - #### starting

          public void starting(FrameworkMethod method)

      Deprecated.
      Invoked when a test method is about to start

    - #### finished

          public void finished(FrameworkMethod method)

      Deprecated.
      Invoked when a test method finishes (whether passing or failing)