Best junit code snippet using org.junit.rules.TestWatchman.starting
Source:RulesTest.java  
...170		171		@Rule172		public MethodRule watchman= new TestWatchman() {173			@Override174			public void starting(FrameworkMethod method) {175				watchedLog+= "starting ";176			}177			178			@Override179			public void finished(FrameworkMethod method) {180				watchedLog+= "finished ";181			}182			183			@Override184			public void succeeded(FrameworkMethod method) {185				watchedLog+= "succeeded ";186			}187		};188		189		@After public void after() {190			watchedLog+= "after ";191		}192193		@Test194		public void succeeds() {195			watchedLog+= "test ";196		}197	}198199	@Test200	public void beforesAndAfters() {201		BeforesAndAfters.watchedLog= "";202		JUnitCore.runClasses(BeforesAndAfters.class);203		assertThat(BeforesAndAfters.watchedLog, is("before starting test succeeded finished after "));204	}205	206	public static class WrongTypedField {207		@Rule public int x = 5;208		@Test public void foo() {}209	}210	211	@Test public void validateWrongTypedField() {212		assertThat(testResult(WrongTypedField.class), 213				hasSingleFailureContaining("must implement MethodRule"));214	}215	216	public static class SonOfWrongTypedField extends WrongTypedField {217		
...Source:TestWatchman$1.java  
...18    //   0: aload_019    //   1: getfield 16	org/junit/rules/TestWatchman$1:this$0	Lorg/junit/rules/TestWatchman;20    //   4: aload_021    //   5: getfield 18	org/junit/rules/TestWatchman$1:val$method	Lorg/junit/runners/model/FrameworkMethod;22    //   8: invokevirtual 34	org/junit/rules/TestWatchman:starting	(Lorg/junit/runners/model/FrameworkMethod;)V23    //   11: aload_024    //   12: getfield 20	org/junit/rules/TestWatchman$1:val$base	Lorg/junit/runners/model/Statement;25    //   15: invokevirtual 36	org/junit/runners/model/Statement:evaluate	()V26    //   18: aload_027    //   19: getfield 16	org/junit/rules/TestWatchman$1:this$0	Lorg/junit/rules/TestWatchman;28    //   22: aload_029    //   23: getfield 18	org/junit/rules/TestWatchman$1:val$method	Lorg/junit/runners/model/FrameworkMethod;30    //   26: invokevirtual 39	org/junit/rules/TestWatchman:succeeded	(Lorg/junit/runners/model/FrameworkMethod;)V31    //   29: aload_032    //   30: getfield 16	org/junit/rules/TestWatchman$1:this$0	Lorg/junit/rules/TestWatchman;33    //   33: aload_034    //   34: getfield 18	org/junit/rules/TestWatchman$1:val$method	Lorg/junit/runners/model/FrameworkMethod;35    //   37: invokevirtual 42	org/junit/rules/TestWatchman:finished	(Lorg/junit/runners/model/FrameworkMethod;)V36    //   40: return
...Source:ZKTestCase.java  
...38    }39    @Rule40    public MethodRule watchman = new TestWatchman() {41        @Override42        public void starting(FrameworkMethod method) {43            testName = method.getName();44            LOG.info("STARTING " + testName);45        }46        @Override47        public void finished(FrameworkMethod method) {48            LOG.info("FINISHED " + testName);49        }50        @Override51        public void succeeded(FrameworkMethod method) {52            LOG.info("SUCCEEDED " + testName);53        }54        @Override55        public void failed(Throwable e, FrameworkMethod method) {56            LOG.info("FAILED " + testName, e);...Source:TestWatchman.java  
...47/*    */   public Statement apply(final Statement base, final FrameworkMethod method, Object target) {48/* 48 */     return new Statement()49/*    */       {50/*    */         public void evaluate() throws Throwable {51/* 51 */           TestWatchman.this.starting(method);52/*    */           try {53/* 53 */             base.evaluate();54/* 54 */             TestWatchman.this.succeeded(method);55/* 55 */           } catch (AssumptionViolatedException e) {56/* 56 */             throw e;57/* 57 */           } catch (Throwable e) {58/* 58 */             TestWatchman.this.failed(e, method);59/* 59 */             throw e;60/*    */           } finally {61/* 61 */             TestWatchman.this.finished(method);62/*    */           } 63/*    */         }64/*    */       };65/*    */   }66/*    */   67/*    */   public void succeeded(FrameworkMethod method) {}68/*    */   69/*    */   public void failed(Throwable e, FrameworkMethod method) {}70/*    */   71/*    */   public void starting(FrameworkMethod method) {}72/*    */   73/*    */   public void finished(FrameworkMethod method) {}74/*    */ }75/* Location:              /home/arpit/Downloads/Picking-Tool-6.5.2.jar!/org/junit/rules/TestWatchman.class76 * Java compiler version: 5 (49.0)77 * JD-Core Version:       1.1.378 */...Source:UnitTest.java  
...4import org.junit.runners.model.FrameworkMethod;5public class UnitTest {6    @Rule7    public MethodRule watchman = new TestWatchman() {8        public void starting(FrameworkMethod method) {9            System.out.println("\u001B[32m[ RUN     ] \u001B[0m" + method.getName() + "()");10        }11        public void succeeded(FrameworkMethod method) {12            System.out.println("\u001B[32m[      OK ] \u001B[0m");13        }14    };15    void log(String s) {16        System.out.println("-- " + s);17    }18    void error(String s) {19        System.out.println("-- \u001B[31mERROR:   " + s + "\u001B[0m");20    }21    void warning(String s) {22        System.out.println("-- \u001B[33mWARNING: " + s + "\u001B[0m");...LambdaTest also has a detailed JUnit tutorial explaining its features, importance, advanced use cases, best practices, and more to help you get started with running your automation testing scripts.
Here are the detailed JUnit testing chapters to help you get started:
You can also check out our JUnit certification if you wish to take your career in Selenium automation testing with JUnit to the next level.
Get 100 minutes of automation test minutes FREE!!
