001    package org.junit.runners;
002    
003    import org.junit.runners.model.InitializationError;
004    import org.junit.runners.model.TestClass;
005    
006    /**
007     * Aliases the current default JUnit 4 class runner, for future-proofing. If
008     * future versions of JUnit change the default Runner class, they will also
009     * change the definition of this class. Developers wanting to explicitly tag a
010     * class as a JUnit 4 class should use {@code @RunWith(JUnit4.class)}, not,
011     * for example in JUnit 4.5, {@code @RunWith(BlockJUnit4ClassRunner.class)}.
012     * This is the only way this class should be used--any extension that
013     * depends on the implementation details of this class is likely to break
014     * in future versions.
015     *
016     * @since 4.5
017     */
018    public final class JUnit4 extends BlockJUnit4ClassRunner {
019        /**
020         * Constructs a new instance of the default runner
021         */
022        public JUnit4(Class<?> klass) throws InitializationError {
023            super(new TestClass(klass));
024        }
025    }