Class TestWatcher

  • All Implemented Interfaces:
    TestRule
    Direct Known Subclasses:
    Stopwatch.InternalWatcher, TestName

    public abstract class TestWatcher
    extends java.lang.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
    • Constructor Detail

      • TestWatcher

        public TestWatcher()
    • Method Detail

      • apply

        public Statement apply​(Statement base,
                               Description description)
        Description copied from interface: TestRule
        Modifies the method-running Statement to implement this test-running rule.
        Specified by:
        apply in interface TestRule
        Parameters:
        base - The Statement to be modified
        description - A Description of the test implemented in base
        Returns:
        a new statement, which may be the same as base, a wrapper around base, or a completely new Statement.
      • succeededQuietly

        private void succeededQuietly​(Description description,
                                      java.util.List<java.lang.Throwable> errors)
      • failedQuietly

        private void failedQuietly​(java.lang.Throwable e,
                                   Description description,
                                   java.util.List<java.lang.Throwable> errors)
      • startingQuietly

        private void startingQuietly​(Description description,
                                     java.util.List<java.lang.Throwable> errors)
      • finishedQuietly

        private void finishedQuietly​(Description description,
                                     java.util.List<java.lang.Throwable> errors)
      • succeeded

        protected void succeeded​(Description description)
        Invoked when a test succeeds
      • failed

        protected void failed​(java.lang.Throwable e,
                              Description description)
        Invoked when a test fails
      • starting

        protected void starting​(Description description)
        Invoked when a test is about to start
      • finished

        protected void finished​(Description description)
        Invoked when a test method finishes (whether passing or failing)