package com.constellio.sdk.tests; import org.junit.rules.TestWatcher; import org.junit.runner.Description; public class FailureDetectionTestWatcher extends TestWatcher { private boolean failed; FailureDetectionTestWatcherListener listener; public FailureDetectionTestWatcher(FailureDetectionTestWatcherListener listener) { this.listener = listener; } @Override protected void failed(Throwable e, Description description) { e.printStackTrace(); listener.failed(e, description); failed = true; } @Override protected void finished(Description description) { if (!failed) { listener.finished(description); } } public static interface FailureDetectionTestWatcherListener { void failed(Throwable e, Description description); void finished(Description description); } public boolean isFailed() { return failed; } }