org.junit.experimental.results.PrintableResult 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.experimental.results;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.util.List;
import org.junit.internal.TextListener;
import org.junit.runner.JUnitCore;
import org.junit.runner.Request;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
/**
* A test result that prints nicely in error messages.
* This is only intended to be used in JUnit self-tests.
* For example:
*
*
* assertThat(testResult(HasExpectedException.class), isSuccessful());
*
*/
public class PrintableResult {
private Result result;
/**
* The result of running JUnit on {@code type}
*/
public static PrintableResult testResult(Class type) {
return testResult(Request.aClass(type));
}
/**
* The result of running JUnit on Request {@code request}
*/
public static PrintableResult testResult(Request request) {
return new PrintableResult(new JUnitCore().run(request));
}
/**
* A result that includes the given {@code failures}
*/
public PrintableResult(List failures) {
this(new FailureList(failures).result());
}
private PrintableResult(Result result) {
this.result = result;
}
/**
* Returns the number of failures in this result.
*/
public int failureCount() {
return result.getFailures().size();
}
/**
* Returns the failures in this result.
*
* @since 4.13
*/
public List failures() {
return result.getFailures();
}
@Override
public String toString() {
ByteArrayOutputStream stream = new ByteArrayOutputStream();
new TextListener(new PrintStream(stream)).testRunFinished(result);
return stream.toString();
}
}