Update ...DirtiesContextTests to get beans early
Change ContextHierarchyDirtiesContextTests to obtain beans whilst the ApplicationContext is still open, rather than trying to obtain them after the context has been closed.
This commit is contained in:
@@ -49,10 +49,19 @@ public class ContextHierarchyDirtiesContextTests {
|
||||
|
||||
private static ApplicationContext context;
|
||||
|
||||
private static String foo;
|
||||
|
||||
private static String bar;
|
||||
|
||||
private static String baz;
|
||||
|
||||
|
||||
@After
|
||||
public void cleanUp() {
|
||||
ContextHierarchyDirtiesContextTests.context = null;
|
||||
ContextHierarchyDirtiesContextTests.foo = null;
|
||||
ContextHierarchyDirtiesContextTests.bar = null;
|
||||
ContextHierarchyDirtiesContextTests.baz = null;
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -85,17 +94,17 @@ public class ContextHierarchyDirtiesContextTests {
|
||||
assertThat(ContextHierarchyDirtiesContextTests.context, notNullValue());
|
||||
|
||||
ConfigurableApplicationContext bazContext = (ConfigurableApplicationContext) ContextHierarchyDirtiesContextTests.context;
|
||||
assertEquals("baz", bazContext.getBean("bean", String.class));
|
||||
assertEquals("baz", ContextHierarchyDirtiesContextTests.baz);
|
||||
assertThat("bazContext#isActive()", bazContext.isActive(), is(isBazContextActive));
|
||||
|
||||
ConfigurableApplicationContext barContext = (ConfigurableApplicationContext) bazContext.getParent();
|
||||
assertThat(barContext, notNullValue());
|
||||
assertEquals("bar", barContext.getBean("bean", String.class));
|
||||
assertEquals("bar", ContextHierarchyDirtiesContextTests.bar);
|
||||
assertThat("barContext#isActive()", barContext.isActive(), is(isBarContextActive));
|
||||
|
||||
ConfigurableApplicationContext fooContext = (ConfigurableApplicationContext) barContext.getParent();
|
||||
assertThat(fooContext, notNullValue());
|
||||
assertEquals("foo", fooContext.getBean("bean", String.class));
|
||||
assertEquals("foo", ContextHierarchyDirtiesContextTests.foo);
|
||||
assertThat("fooContext#isActive()", fooContext.isActive(), is(isFooContextActive));
|
||||
}
|
||||
|
||||
@@ -115,9 +124,11 @@ public class ContextHierarchyDirtiesContextTests {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
|
||||
ContextHierarchyDirtiesContextTests.context = applicationContext;
|
||||
ContextHierarchyDirtiesContextTests.baz = applicationContext.getBean("bean", String.class);
|
||||
ContextHierarchyDirtiesContextTests.bar = applicationContext.getParent().getBean("bean", String.class);
|
||||
ContextHierarchyDirtiesContextTests.foo = applicationContext.getParent().getParent().getBean("bean", String.class);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user