001 package org.junit.runner.manipulation;
002
003 /**
004 * Interface for runners that allow sorting of tests. By sorting tests based on when they last failed, most recently
005 * failed first, you can reduce the average time to the first test failing. Test sorting should not be used to
006 * cope with order dependencies between tests. Tests that are isolated from each other are less
007 * expensive to maintain and can be run individually.
008 *
009 * @since 4.0
010 */
011 public interface Sortable {
012
013 /**
014 * Sorts the tests using <code>sorter</code>
015 *
016 * @param sorter the {@link Sorter} to use for sorting the tests
017 */
018 void sort(Sorter sorter);
019
020 }