Package org.junit.experimental.max
Class MaxCore
- java.lang.Object
- org.junit.experimental.max.MaxCore
public class MaxCore extends Object
A replacement for JUnitCore, which keeps track of runtime and failure history, and reorders tests to maximize the chances that a failing test occurs early in the test run. The rules for sorting are:- Never-run tests first, in arbitrary order
- Group remaining tests by the date at which they most recently failed.
- Sort groups such that the most recent failure date is first, and never-failing tests are at the end.
- Within a group, run the fastest tests first.
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static MaxCore
forFolder(String folderName)
Deprecated.use storedLocally()Result
run(Class<?> testClass)
Run all the tests inclass
.Result
run(Request request)
Run all the tests contained inrequest
.Result
run(Request request, JUnitCore core)
Run all the tests contained inrequest
.List<Description>
sortedLeavesForTest(Request request)
Request
sortRequest(Request request)
static MaxCore
storedLocally(File storedResults)
Create a new MaxCore from a serialized file stored at storedResults
Method Detail
forFolder
@Deprecated public static MaxCore forFolder(String folderName)
Deprecated.use storedLocally()Create a new MaxCore from a serialized file stored at storedResults
storedLocally
public static MaxCore storedLocally(File storedResults)
Create a new MaxCore from a serialized file stored at storedResults
run
public Result run(Class<?> testClass)
Run all the tests inclass
.- Returns:
- a
Result
describing the details of the test run and the failed tests.
run
public Result run(Request request)
Run all the tests contained inrequest
.- Parameters:
request
- the request describing tests- Returns:
- a
Result
describing the details of the test run and the failed tests.
run
public Result run(Request request, JUnitCore core)
Run all the tests contained inrequest
. This variant should be used ifcore
has attached listeners that this run should notify.- Parameters:
request
- the request describing testscore
- a JUnitCore to delegate to.- Returns:
- a
Result
describing the details of the test run and the failed tests.
sortRequest
public Request sortRequest(Request request)
- Returns:
- a new Request, which contains all of the same tests, but in a new order.
sortedLeavesForTest
public List<Description> sortedLeavesForTest(Request request)
- Parameters:
request
- a request to run- Returns:
- a list of method-level tests to run, sorted in the order specified in the class comment.