DirtiesContext(methodMode: MethodMode, classMode: ClassMode, hierarchyMode: HierarchyMode)
Test annotation which indicates that the org.springframework.context.ApplicationContext associated with a test is dirty and should therefore be closed and removed from the context cache.
Use this annotation if a test has modified the context — for example, by modifying the state of a singleton bean, modifying the state of an embedded database, etc. Subsequent tests that request the same context will be supplied a new context.
@DirtiesContext may be used as a class-level and method-level annotation within the same class or class hierarchy. In such scenarios, the ApplicationContext will be marked as dirty before or after any such annotated method as well as before or after the current test class, depending on the configured #methodMode and #classMode.
As of Spring Framework 4.0, this annotation may be used as a meta-annotation to create custom composed annotations.
Supported Test PhasesBEFORE_CLASSBEFORE_EACH_TEST_METHODBEFORE_METHODAFTER_METHODAFTER_EACH_TEST_METHODAFTER_CLASSBEFORE_* modes are supported by the org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener; AFTER_* modes are supported by the org.springframework.test.context.support.DirtiesContextTestExecutionListener.
Author
Sam Brannen
Author
Rod Johnson
Since
2.0
See Also
org.springframework.test.context.ContextConfigurationorg.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListenerorg.springframework.test.context.support.DirtiesContextTestExecutionListener