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 MaxCoreforFolder(java.lang.String folderName)Deprecated.use storedLocally()Resultrun(java.lang.Class<?> testClass)Run all the tests inclass.Resultrun(Request request)Run all the tests contained inrequest.Resultrun(Request request, JUnitCore core)Run all the tests contained inrequest.java.util.List<Description>sortedLeavesForTest(Request request)RequestsortRequest(Request request)static MaxCorestoredLocally(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
Resultdescribing 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
Resultdescribing 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 ifcorehas attached listeners that this run should notify.- Parameters:
request- the request describing testscore- a JUnitCore to delegate to.- Returns:
- a
Resultdescribing 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.
-
-