@ContextHierarchy

@ContextHierarchy 是一个可应用于测试类以定义用于集成测试的 ApplicationContext 实例层次结构的注解。@ContextHierarchy 应与一个或多个 @ContextConfiguration 实例列表一起声明,每个实例定义了上下文层次结构中的一个级别。以下示例演示了在单个测试类中使用 @ContextHierarchy@ContextHierarchy 也可用于测试类层次结构中)

  • Java

  • Kotlin

@ContextHierarchy({
	@ContextConfiguration("/parent-config.xml"),
	@ContextConfiguration("/child-config.xml")
})
class ContextHierarchyTests {
	// class body...
}
@ContextHierarchy(
	ContextConfiguration("/parent-config.xml"),
	ContextConfiguration("/child-config.xml"))
class ContextHierarchyTests {
	// class body...
}
  • Java

  • Kotlin

@WebAppConfiguration
@ContextHierarchy({
	@ContextConfiguration(classes = AppConfig.class),
	@ContextConfiguration(classes = WebConfig.class)
})
class WebIntegrationTests {
	// class body...
}
@WebAppConfiguration
@ContextHierarchy(
		ContextConfiguration(classes = [AppConfig::class]),
		ContextConfiguration(classes = [WebConfig::class]))
class WebIntegrationTests {
	// class body...
}

如果在测试类层次结构中需要合并或覆盖给定上下文层次结构级别的配置,则必须通过在类层次结构中每个相应级别的 @ContextConfigurationname 属性提供相同的值来明确命名该级别。有关更多示例,请参阅 Context 层次结构@ContextHierarchy 的 Javadoc。