Package org.junit.experimental.max
Class MaxCore
- java.lang.Object
-
- org.junit.experimental.max.MaxCore
-
public class MaxCore extends java.lang.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(java.lang.String folderName)
Deprecated.use storedLocally()Result
run(java.lang.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
.java.util.List<Description>
sortedLeavesForTest(Request request)
Request
sortRequest(Request request)
static MaxCore
storedLocally(java.io.File storedResults)
Create a new MaxCore from a serialized file stored at storedResults
-
-
-
Method Detail
-
forFolder
@Deprecated public static MaxCore forFolder(java.lang.String folderName)
Deprecated.use storedLocally()Create a new MaxCore from a serialized file stored at storedResults
-
storedLocally
public static MaxCore storedLocally(java.io.File storedResults)
Create a new MaxCore from a serialized file stored at storedResults
-
run
public Result run(java.lang.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 java.util.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.
-
-