Class 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:
    1. Never-run tests first, in arbitrary order
    2. Group remaining tests by the date at which they most recently failed.
    3. Sort groups such that the most recent failure date is first, and never-failing tests are at the end.
    4. Within a group, run the fastest tests first.
    • 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 in class.
        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 in request.
        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 in request. This variant should be used if core has attached listeners that this run should notify.
        Parameters:
        request - the request describing tests
        core - 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<DescriptionsortedLeavesForTest​(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.