org.junit.runner.Computer 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.runner;
import org.junit.runners.Suite;
import org.junit.runners.model.InitializationError;
import org.junit.runners.model.RunnerBuilder;
/**
* Represents a strategy for computing runners and suites.
* WARNING: this class is very likely to undergo serious changes in version 4.8 and
* beyond.
*
* @since 4.6
*/
public class Computer {
/**
* Returns a new default computer, which runs tests in serial order
*/
public static Computer serial() {
return new Computer();
}
/**
* Create a suite for {@code classes}, building Runners with {@code builder}.
* Throws an InitializationError if Runner construction fails
*/
public Runner getSuite(final RunnerBuilder builder,
Class[] classes) throws InitializationError {
return new Suite(new RunnerBuilder() {
@Override
public Runner runnerForClass(Class testClass) throws Throwable {
return getRunner(builder, testClass);
}
}, classes) {
@Override
protected String getName() {
/*
* #1320 The generated suite is not based on a real class so
* only a 'null' description can be generated from it. This name
* will be overridden here.
*/
return "classes";
}
};
}
/**
* Create a single-class runner for {@code testClass}, using {@code builder}
*/
protected Runner getRunner(RunnerBuilder builder, Class testClass) throws Throwable {
return builder.runnerForClass(testClass);
}
}