Class SpringClassRule

  • All Implemented Interfaces:
    TestRule

    public class SpringClassRule
    extends Object
    implements TestRule
    SpringClassRule is a custom JUnit TestRule that supports class-level features of the Spring TestContext Framework in standard JUnit tests by means of the TestContextManager and associated support classes and annotations.

    In contrast to the SpringJUnit4ClassRunner, Spring's rule-based JUnit support has the advantage that it is independent of any Runner and can therefore be combined with existing alternative runners like JUnit's Parameterized or third-party runners such as the MockitoJUnitRunner.

    In order to achieve the same functionality as the SpringJUnit4ClassRunner, however, a SpringClassRule must be combined with a SpringMethodRule, since SpringClassRule only supports the class-level features of the SpringJUnit4ClassRunner.

    Example Usage

     public class ExampleSpringIntegrationTest {
    
        @ClassRule
        public static final SpringClassRule SPRING_CLASS_RULE = new SpringClassRule();
    
        @Rule
        public final SpringMethodRule springMethodRule = new SpringMethodRule();
    
        // ...
     }

    The following list constitutes all annotations currently supported directly or indirectly by SpringClassRule. (Note that additional annotations may be supported by various TestExecutionListener or TestContextBootstrapper implementations.)

    NOTE: As of Spring Framework 4.3, this class requires JUnit 4.12 or higher.

    Since:
    4.2
    Author:
    Sam Brannen, Philippe Marschall
    See Also:
    apply(Statement, Description), SpringMethodRule, TestContextManager, SpringJUnit4ClassRunner