Best junit code snippet using org.junit.runners.model.Test.getName
Source:AbstractParameterizedHazelcastClassRunner.java  
...45        fName = name;46        isParameterized = true;47    }48    @Override49    protected String getName() {50        if (isParameterized) {51            return fName;52        } else {53            return super.getName();54        }55    }56    @Override57    protected String testName(FrameworkMethod method) {58        if (isParameterized) {59            return method.getName() + getName();60        } else {61            return method.getName();62        }63    }64    public void setParameterized(boolean isParameterized) {65        this.isParameterized = isParameterized;66    }67    @Override68    public Object createTest() throws Exception {69        if (isParameterized) {70            if (fieldsAreAnnotated()) {71                return createTestUsingFieldInjection();72            } else {73                return createTestUsingConstructorInjection();74            }75        }76        return super.createTest();77    }78    private Object createTestUsingConstructorInjection() throws Exception {79        return getTestClass().getOnlyConstructor().newInstance(fParameters);80    }81    @Override82    protected void validateConstructor(List<Throwable> errors) {83        validateOnlyOneConstructor(errors);84        if (fieldsAreAnnotated()) {85            validateZeroArgConstructor(errors);86        }87    }88    private Object createTestUsingFieldInjection() throws Exception {89        List<FrameworkField> annotatedFieldsByParameter = getAnnotatedFieldsByParameter();90        if (annotatedFieldsByParameter.size() != fParameters.length) {91            throw new Exception("Wrong number of parameters and @Parameter fields."92                    + " @Parameter fields counted: " + annotatedFieldsByParameter.size()93                    + ", available parameters: " + fParameters.length + ".");94        }95        Object testClassInstance = getTestClass().getJavaClass().newInstance();96        for (FrameworkField each : annotatedFieldsByParameter) {97            Field field = each.getField();98            Parameterized.Parameter annotation = field.getAnnotation(Parameterized.Parameter.class);99            int index = annotation.value();100            try {101                field.set(testClassInstance, fParameters[index]);102            } catch (IllegalArgumentException iare) {103                throw new Exception(getTestClass().getName() + ": Trying to set " + field.getName()104                        + " with the value " + fParameters[index]105                        + " that is not the right type (" + fParameters[index].getClass().getSimpleName() + " instead of "106                        + field.getType().getSimpleName() + ").", iare);107            }108        }109        return testClassInstance;110    }111    private boolean fieldsAreAnnotated() {112        return !getAnnotatedFieldsByParameter().isEmpty();113    }114    private List<FrameworkField> getAnnotatedFieldsByParameter() {115        return getTestClass().getAnnotatedFields(Parameterized.Parameter.class);116    }117    @Override...Source:Parameterized.java  
...84				return fParameterList.get(fParameterSetNumber);85			} catch (ClassCastException e) {86				throw new Exception(String.format(87						"%s.%s() must return a Collection of arrays.",88						getTestClass().getName(), getParametersMethod(89								getTestClass()).getName()));90			}91		}92		@Override93		protected String getName() {94			return String.format("[%s]", fParameterSetNumber);95		}96		@Override97		protected String testName(final FrameworkMethod method) {98			return String.format("%s[%s]", method.getName(),99					fParameterSetNumber);100		}101		@Override102		protected void validateConstructor(List<Throwable> errors) {103			validateOnlyOneConstructor(errors);104		}105		@Override106		protected Statement classBlock(RunNotifier notifier) {107			return childrenInvoker(notifier);108		}109		110		@Override111		protected Annotation[] getRunnerAnnotations() {112			return new Annotation[0];113		}114	}115	private final ArrayList<Runner> runners= new ArrayList<Runner>();116	/**117	 * Only called reflectively. Do not use programmatically.118	 */119	public Parameterized(Class<?> klass) throws Throwable {120		super(klass, Collections.<Runner>emptyList());121		List<Object[]> parametersList= getParametersList(getTestClass());122		for (int i= 0; i < parametersList.size(); i++)123			runners.add(new TestClassRunnerForParameters(getTestClass().getJavaClass(),124					parametersList, i));125	}126	@Override127	protected List<Runner> getChildren() {128		return runners;129	}130	@SuppressWarnings("unchecked")131	private List<Object[]> getParametersList(TestClass klass)132			throws Throwable {133		return (List<Object[]>) getParametersMethod(klass).invokeExplosively(134				null);135	}136	private FrameworkMethod getParametersMethod(TestClass testClass)137			throws Exception {138		List<FrameworkMethod> methods= testClass139				.getAnnotatedMethods(Parameters.class);140		for (FrameworkMethod each : methods) {141			int modifiers= each.getMethod().getModifiers();142			if (Modifier.isStatic(modifiers) && Modifier.isPublic(modifiers))143				return each;144		}145		throw new Exception("No public static parameters method on class "146				+ testClass.getName());147	}148}...Source:TestCaseWithRules.java  
...56            public void evaluate() throws Throwable {57                superRunBare();58            }59        };60        final String name = getName();61        FrameworkMethod frameworkMethod;62        try {63            Method method = getClass().getMethod(name, (Class[]) null);64            frameworkMethod = new FrameworkMethod(method);65        } catch (NoSuchMethodException e) {66            frameworkMethod = new FrameworkMethod(null) {67                @Override68                public String getName() {69                    return name;70                }71                @Override72                public Annotation[] getAnnotations() {73                    return new Annotation[0];74                }75                @Override76                public <T extends Annotation> T getAnnotation(Class<T> annotationType) {77                    return null;78                }79            };80        }81        Description description =82                Description.createTestDescription(getClass(), frameworkMethod.getName(),83                        frameworkMethod.getAnnotations());84        List<Object> rules = testClass.getAnnotatedFieldValues(this, Rule.class, Object.class);85        for (Object rule : rules) {86            if (rule instanceof TestRule) {87                statement = ((TestRule) rule).apply(statement, description);88            } else {89                statement = ((MethodRule) rule).apply(statement, frameworkMethod, this);90            }91        }92        statement.evaluate();93    }94    private void superRunBare() throws Throwable {95        super.runBare();96    }...Source:BetterParameterized.java  
...54			}55		}56		57		throw new Exception("No public static parameters method on class "58				+ testClass.getName());59	}60	public class TestClassRunnerForParameters extends61	BlockJUnit4ClassRunner {62		private final int fParameterSetNumber;63		private final List<Object[]> fParameterList;64		TestClassRunnerForParameters(Class<?> type,65				List<Object[]> parameterList, int i) throws InitializationError {66			super(type);67			fParameterList= parameterList;68			fParameterSetNumber= i;69		}70		@Override71		public Object createTest() throws Exception {72			return getTestClass().getOnlyConstructor().newInstance(73					computeParams());74		}75		private Object[] computeParams() throws Exception {76			try {77				return fParameterList.get(fParameterSetNumber);78			} catch (ClassCastException e) {79				throw new Exception(String.format(80						"%s.%s() must return a Collection of arrays.",81						getTestClass().getName(), getParametersMethod(82								getTestClass()).getName()));83			}84		}85		@Override86		protected String getName() {87			try {88				Object[] tempParams = computeParams();89				if (tempParams != null && tempParams.length > 0) {90					if (tempParams.length == 1) {91						return tempParams[0].toString();92					}93					return tempParams.toString();94				}95			} catch (Exception ex) {96				return ex.getMessage();97			}98			99			return String.format("[%s]", fParameterSetNumber);100		}101		@Override102		protected String testName(final FrameworkMethod method) {103			return String.format("%s[%s]", method.getName(),104					getName());105		}106		@Override107		protected void validateConstructor(List<Throwable> errors) {108			validateOnlyOneConstructor(errors);109		}110		@Override111		protected Statement classBlock(RunNotifier notifier) {112			return childrenInvoker(notifier);113		}114	}115}...Source:LabelledParameterized.java  
...42				return each;43			}44		}45   46		throw new Exception("No public static parameters method on class " + testClass.getName());47	}48	49	@Retention(RetentionPolicy.RUNTIME)50	@Target(ElementType.METHOD)51	public static @interface Parameters {}52	53	private class TestClassRunnerForParameters extends BlockJUnit4ClassRunner {54		private final int fParameterSetNumber;55		private final List<Object[]> fParameterList;56		TestClassRunnerForParameters(Class<?> type, List<Object[]> parameterList, int i) throws InitializationError {57			super(type);58			fParameterList= parameterList;59			fParameterSetNumber= i;60		}61		@Override62		public Object createTest() throws Exception {63			return getTestClass().getOnlyConstructor().newInstance(computeParams());64		}65   66		private Object[] computeParams() throws Exception {67			try {68				return fParameterList.get(fParameterSetNumber);69			} catch (ClassCastException e) {70				throw new Exception(String.format("%s.%s() must return a Collection of arrays.", getTestClass().getName(), getParametersMethod(getTestClass()).getName()));71			}72		}73		@Override74		protected String getName() {75			return String.format("[%s]", fParameterList.get(fParameterSetNumber)[0]);76		}77		78		@Override79		protected String testName(final FrameworkMethod method) {80			return String.format("%s[%s]", method.getName(), fParameterList.get(fParameterSetNumber)[0]);81		}82		83		@Override84		protected void validateConstructor(List<Throwable> errors) {85			validateOnlyOneConstructor(errors);86		}87		@Override88		protected Statement classBlock(RunNotifier notifier) {89			return childrenInvoker(notifier);90		}91	}92}...Source:ExpectsExceptionRunner.java  
...35                throw e;36            } catch (Throwable e) {37                if (!expected.isAssignableFrom(e.getClass())) {38                    String message = "Unexpected exception, expected<"39                            + expected.getName() + "> but was <"40                            + e.getClass().getName() + ">";41                    throw new Exception(message, e);42                }43                if (isNotNull(expectedMessage) && !expectedMessage.equals(e.getMessage())) {44                    String message = "Unexpected exception message, expected<"45                            + expectedMessage + "> but was<"46                            + e.getMessage() + ">";47                    throw new Exception(message, e);48                }49            }50            if (complete) {51                throw new AssertionError("Expected exception: "52                        + expected.getName());53            }54        }55        private boolean isNotNull(String s) {56            return s != null && !s.isEmpty();57        }58    }59}...Source:Testfetcher.java  
...26	}27      URLClassLoader cl = URLClassLoader.newInstance(urls);28      while (e.hasMoreElements()) {29          JarEntry je = (JarEntry) e.nextElement();30          if(je.isDirectory() || !je.getName().endsWith(".class") || je.getName().contains("$")){31              continue;32          }33          // -6 because of .class34          String className = je.getName().substring(0,je.getName().length()-6);35          className = className.replace('/', '.');36          try {37			Class c = cl.loadClass(className);38			System.out.println(c.getName());39			 TestClass testClass = new TestClass(c);40	    	  List<FrameworkMethod> testList = testClass.getAnnotatedMethods(org.junit.Test.class);41	    	  List<FrameworkMethod> BeforeList = testClass.getAnnotatedMethods(org.junit.Before.class);42	    	  List<FrameworkMethod> AfterList = testClass.getAnnotatedMethods(org.junit.After.class);43	    	  44	    	  for (FrameworkMethod frameworkMethod : testList) {45	    		  String name = testClass.getName();46	    	      String method = frameworkMethod.getName();47	    	      System.out.println(name + "\t" + method + "\t");48	    	      RunNotifier notifier = new RunNotifier();49	    	      RunListener listener = new CustomListener();50	    	      notifier.addListener(listener);51	    	      new CustomRunner(c).runMethod(method, notifier);52	    	      System.out.println(notifier.toString());53			}54		} catch (ClassNotFoundException e1) {55			// TODO Auto-generated catch block56			e1.printStackTrace();57		} 58          catch (Exception e1) {59			// TODO Auto-generated catch block60			e1.printStackTrace();...Source:WebMvcTestPrintDefaultRunner.java  
...34	protected Statement methodBlock(FrameworkMethod frameworkMethod) {35		Statement statement = super.methodBlock(frameworkMethod);36		statement = new AlwaysPassStatement(statement);37		OutputCapture outputCapture = new OutputCapture();38		if (frameworkMethod.getName().equals("shouldPrint")) {39			outputCapture.expect(containsString("HTTP Method"));40		}41		else if (frameworkMethod.getName().equals("shouldNotPrint")) {42			outputCapture.expect(not(containsString("HTTP Method")));43		}44		else {45			throw new IllegalStateException("Unexpected test method");46		}47		System.err.println(frameworkMethod.getName());48		return outputCapture.apply(statement, null);49	}50	private static class AlwaysPassStatement extends Statement {51		private final Statement delegate;52		AlwaysPassStatement(Statement delegate) {53			this.delegate = delegate;54		}55		@Override56		public void evaluate() throws Throwable {57			try {58				this.delegate.evaluate();59			}60			catch (AssertionError ex) {61			}...getName
Using AI Code Generation
1import org.junit.runner.Description;2import org.junit.runner.notification.Failure;3import org.junit.runner.notification.RunListener;4public class CustomListener extends RunListener {5    public void testStarted(Description description) throws Exception {6        super.testStarted(description);7        System.out.println("Test started: " + description.getMethodName());8    }9    public void testFinished(Description description) throws Exception {10        super.testFinished(description);11        System.out.println("Test finished: " + description.getMethodName());12    }13    public void testFailure(Failure failure) throws Exception {14        super.testFailure(failure);15        System.out.println("Test failed: " + failure.getDescription().getMethodName());16    }17    public void testIgnored(Description description) throws Exception {18        super.testIgnored(description);19        System.out.println("Test ignored: " + description.getMethodName());20    }21}22package org.junit.runner.notification;23import org.junit.runner.Description;24public class RunListener {25    public void testRunStarted(Description description) throws Exception {26    }27    public void testRunFinished(Result result) throws Exception {28    }29    public void testStarted(Description description) throws Exception {30    }31    public void testFinished(Description description) throws Exception {32    }33    public void testFailure(Failure failure) throws Exception {34    }35    public void testAssumptionFailure(Failure failure) {36    }37    public void testIgnored(Description description) throws Exception {38    }39}40package org.junit.runner.notification;41import org.junit.runner.Description;42public class Failure {43    private final Description fDescription;44    private final Throwable fThrownException;45    public Failure(Description description, Throwable thrownException) {46        this.fDescription = description;47        this.fThrownException = thrownException;48    }49    public Description getDescription() {50        return fDescription;51    }52    public Throwable getException() {53        return fThrownException;54    }55    public String toString() {56        return fDescription + ": " + fThrownException.getMessage();57    }58}59package org.junit.runner.Description;60public class Description {61    private final String fMethodName;62    private final String fClassName;63    public Description(String className, String methodName) {64        fClassName = className;65        fMethodName = methodName;66    }67    public String getMethodName() {68        return fMethodName;69    }70    public String getClassName() {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!!
