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.
 
 public class ExampleSpringIntegrationTest {
    @ClassRule
    public static final SpringClassRule springClassRule = 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.
apply(Statement, Description), 
SpringMethodRule, 
TestContextManager, 
SpringJUnit4ClassRunner| Constructor and Description | 
|---|
| SpringClassRule() | 
| Modifier and Type | Method and Description | 
|---|---|
| Statement | apply(Statement base,
     Description description)Apply class-level features of the Spring TestContext
 Framework to the supplied  basestatement. | 
public Statement apply(Statement base, Description description)
base statement.
 Specifically, this method retrieves the TestContextManager
 used by this rule and its associated SpringMethodRule and
 invokes the beforeTestClass()
 and afterTestClass() methods
 on the TestContextManager.
 
In addition, this method checks whether the test is enabled in
 the current execution environment. This prevents classes with a
 non-matching @IfProfileValue annotation from running altogether,
 even skipping the execution of beforeTestClass() methods
 in TestExecutionListeners.
apply in interface TestRulebase - the base Statement that this rule should be applied todescription - a Description of the current test executionbase with class-level
 features of the Spring TestContext FrameworkgetTestContextManager(java.lang.Class<?>), 
withBeforeTestClassCallbacks(org.junit.runners.model.Statement, org.springframework.test.context.TestContextManager), 
withAfterTestClassCallbacks(org.junit.runners.model.Statement, org.springframework.test.context.TestContextManager), 
withProfileValueCheck(org.junit.runners.model.Statement, java.lang.Class<?>), 
withTestContextManagerCacheEviction(org.junit.runners.model.Statement, java.lang.Class<?>)