package org.junit.runners.model; import java.util.List; /** * Thrown by {@link org.junit.runner.Runner}s in case the class under test is not valid. * <p> * Its message conveniently lists all of the validation errors. * * @since 4.13 */ public class InvalidTestClassError extends InitializationError { private static final long serialVersionUID = 1L; private final String message; public InvalidTestClassError(Class<?> offendingTestClass, List<Throwable> validationErrors) { super(validationErrors); this.message = createMessage(offendingTestClass, validationErrors); } private static String createMessage(Class<?> testClass, List<Throwable> validationErrors) { StringBuilder sb = new StringBuilder(); sb.append(String.format("Invalid test class '%s':", testClass.getName())); int i = 1; for (Throwable error : validationErrors) { sb.append("\n " + (i++) + ". " + error.getMessage()); } return sb.toString(); } /** * @return a message with a list of all of the validation errors */ @Override public String getMessage() { return message; } }