@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...
}
如果需要合并或覆盖测试类层次结构内给定级别上下文层次结构的配置,必须通过为特定类层次结构中的每个对应层级的 @ContextConfiguration
中的 name
属性提供相同的值,明确命名该层级。有关其他示例,请参见 Context Hierarchies 和https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/test/context/ContextHierarchy.html[@ContextHierarchy
] javadoc。