Eric E opened SPR-11015 and commented

Currently I am unable to do something like the following:

@RunWith(SpringJUnit4ClassRunner.class)
@ActiveProfiles("testing")
@WebAppConfiguration
@ContextHierarchy(
    initializers = WebSecurityIntegrationTest.PropertyMockingApplicationContextInitializer.class,
    contextConfigurations = {
        @ContextConfiguration(name = "rootContext", locations = { "classpath:app-config.xml", "classpath:database-config.xml", "classpath:security-config.xml" }),
        @ContextConfiguration(name = "webContext", locations = { "classpath:mvc-config.xml" })
})
public class WebSecurityIntegrationTest { /* ... */ }

Instead, I have to repeat the initializer for each @ContextConfiguration declaration:

@RunWith(SpringJUnit4ClassRunner.class)
@ActiveProfiles("testing")
@WebAppConfiguration
@ContextHierarchy({
    @ContextConfiguration(name = "rootContext", locations = { "classpath:app-config.xml", "classpath:database-config.xml", "classpath:security-config.xml" }, initializers = WebSecurityIntegrationTest.PropertyMockingApplicationContextInitializer.class),
    @ContextConfiguration(name = "webContext", locations = { "classpath:mvc-config.xml" }, initializers = WebSecurityIntegrationTest.PropertyMockingApplicationContextInitializer.class) })
public class WebSecurityIntegrationTest {
}

I think it would be great if you could specify some of the configuration, such as initializers, at the @ContextHierarchy level.


Affects: 3.2.2

Comment From: sbrannen

Since the community has not displayed much interest in this feature over the past decade, I am closing this issue.