001package org.junit.runner.manipulation; 002 003/** 004 * Interface for runners that allow ordering of tests. 005 * 006 * <p>Beware of using this interface to cope with order dependencies between tests. 007 * Tests that are isolated from each other are less expensive to maintain and 008 * can be run individually. 009 * 010 * @since 4.13 011 */ 012public interface Orderable extends Sortable { 013 014 /** 015 * Orders the tests using <code>orderer</code> 016 * 017 * @throws InvalidOrderingException if orderer does something invalid (like remove or add 018 * children) 019 */ 020 void order(Orderer orderer) throws InvalidOrderingException; 021}