org.junit.internal.runners.model.EachTestNotifier Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of junit Show documentation
Show all versions of junit Show documentation
JUnit is a unit testing framework for Java, created by Erich Gamma and Kent Beck.
package org.junit.internal.runners.model;
import org.junit.internal.AssumptionViolatedException;
import org.junit.runner.Description;
import org.junit.runner.notification.Failure;
import org.junit.runner.notification.RunNotifier;
import org.junit.runners.model.MultipleFailureException;
public class EachTestNotifier {
private final RunNotifier notifier;
private final Description description;
public EachTestNotifier(RunNotifier notifier, Description description) {
this.notifier = notifier;
this.description = description;
}
public void addFailure(Throwable targetException) {
if (targetException instanceof MultipleFailureException) {
addMultipleFailureException((MultipleFailureException) targetException);
} else {
notifier.fireTestFailure(new Failure(description, targetException));
}
}
private void addMultipleFailureException(MultipleFailureException mfe) {
for (Throwable each : mfe.getFailures()) {
addFailure(each);
}
}
public void addFailedAssumption(AssumptionViolatedException e) {
notifier.fireTestAssumptionFailed(new Failure(description, e));
}
public void fireTestFinished() {
notifier.fireTestFinished(description);
}
public void fireTestStarted() {
notifier.fireTestStarted(description);
}
public void fireTestIgnored() {
notifier.fireTestIgnored(description);
}
/**
* Calls {@link RunNotifier#fireTestSuiteStarted(Description)}, passing the
* {@link Description} that was passed to the {@code EachTestNotifier} constructor.
* This should be called when a test suite is about to be started.
* @see RunNotifier#fireTestSuiteStarted(Description)
* @since 4.13
*/
public void fireTestSuiteStarted() {
notifier.fireTestSuiteStarted(description);
}
/**
* Calls {@link RunNotifier#fireTestSuiteFinished(Description)}, passing the
* {@link Description} that was passed to the {@code EachTestNotifier} constructor.
* This should be called when a test suite has finished, whether the test suite succeeds
* or fails.
* @see RunNotifier#fireTestSuiteFinished(Description)
* @since 4.13
*/
public void fireTestSuiteFinished() {
notifier.fireTestSuiteFinished(description);
}
}