@ContextHierarchy

@ContextHierarchy は、統合テスト用に ApplicationContext インスタンスの階層を定義するために使用されるクラスレベルのアノテーションです。@ContextHierarchy は、1 つまたは複数の @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 を参照してください。