@ContextHierarchy
@ContextHierarchy
@ContextHierarchy 是一种注释,可以应用于测试类来定义集成测试中 ApplicationContext 实例的层次结构。@ContextHierarchy 应该与一个或多个 @ContextConfiguration 实例的列表一起声明,每个 @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属性中提供相同的值来明确指定该层级。有关更多示例,请参阅上下文层次结构和@ContextHierarchy的Javadoc文档。