@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
属性来明确命名该级别。更多示例请参见 上下文层级结构 和 @ContextHierarchy
javadoc。