Class TestWatcher

  • All Implemented Interfaces:
    TestRule
    Direct Known Subclasses:
    TestName

    public abstract class TestWatcher
    extends Object
    implements TestRule
    TestWatcher 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 TestWatcher watchman= new TestWatcher() {
          @Override
          protected void failed(Throwable e, Description description) {
              watchedLog+= description + "\n";
          }
    
          @Override
          protected void succeeded(Description description) {
              watchedLog+= description + " " + "success!\n";
             }
         };
    
      @Test
      public void fails() {
          fail();
      }
    
      @Test
      public void succeeds() {
         }
     }
     
    Since:
    4.9