package org.robolectric.android; import javax.annotation.Nonnull; import org.junit.runner.notification.Failure; import org.junit.runner.notification.RunListener; import org.junit.runner.notification.RunNotifier; import org.junit.runners.model.InitializationError; import org.robolectric.RobolectricTestRunner; import java.util.ArrayList; import java.util.List; public class FailureListener extends RunListener { @Nonnull public static List<Failure> runTests(Class<?> testClass) throws InitializationError { RunNotifier notifier = new RunNotifier(); FailureListener failureListener = new FailureListener(); notifier.addListener(failureListener); new RobolectricTestRunner(testClass).run(notifier); return failureListener.failures; } public final List<Failure> failures = new ArrayList<>(); @Override public void testFailure(Failure failure) throws Exception { failures.add(failure); } @Override public void testAssumptionFailure(Failure failure) { failures.add(failure); } }