Groovy スクリプトを使用したコンテキスト設定
Groovy Bean 定義 DSL を使用する Groovy スクリプトを使用して、テスト用に ApplicationContext
をロードするには、@ContextConfiguration
でテストクラスにアノテーションを付け、Groovy スクリプトのリソースの場所を含む配列で locations
または value
属性を構成します。Groovy スクリプトのリソースルックアップセマンティクスは、XML 構成ファイルについて説明したものと同じです。
Groovy スクリプトサポートの有効化 Groovy がクラスパス上にある場合、Groovy スクリプトを使用して Spring に ApplicationContext をロードするためのサポート TestContext フレームワークは自動的に有効になります。 |
次の例は、Groovy 構成ファイルを指定する方法を示しています。
Java
Kotlin
@ExtendWith(SpringExtension.class)
// ApplicationContext will be loaded from "/AppConfig.groovy" and
// "/TestConfig.groovy" in the root of the classpath
@ContextConfiguration({"/AppConfig.groovy", "/TestConfig.Groovy"}) (1)
class MyTest {
// class body...
}
1 | Groovy 構成ファイルの場所を指定します。 |
@ExtendWith(SpringExtension::class)
// ApplicationContext will be loaded from "/AppConfig.groovy" and
// "/TestConfig.groovy" in the root of the classpath
@ContextConfiguration("/AppConfig.groovy", "/TestConfig.Groovy") (1)
class MyTest {
// class body...
}
1 | Groovy 構成ファイルの場所を指定します。 |
@ContextConfiguration
アノテーションから locations
属性と value
属性の両方を省略すると、TestContext フレームワークはデフォルトの Groovy スクリプトを検出しようとします。具体的には、GenericGroovyXmlContextLoader
および GenericGroovyXmlWebContextLoader
は、テストクラスの名前に基づいてデフォルトの場所を検出します。クラスの名前が com.example.MyTest
の場合、Groovy コンテキストローダーは "classpath:com/example/MyTestContext.groovy"
からアプリケーションコンテキストをロードします。次の例は、デフォルトの使用方法を示しています。
Java
Kotlin
@ExtendWith(SpringExtension.class)
// ApplicationContext will be loaded from
// "classpath:com/example/MyTestContext.groovy"
@ContextConfiguration (1)
class MyTest {
// class body...
}
1 | デフォルトの場所から構成をロードしています。 |
@ExtendWith(SpringExtension::class)
// ApplicationContext will be loaded from
// "classpath:com/example/MyTestContext.groovy"
@ContextConfiguration (1)
class MyTest {
// class body...
}
1 | デフォルトの場所から構成をロードしています。 |
XML 構成と Groovy スクリプトを同時に宣言する
次のリストは、統合テストで両方を組み合わせる方法を示しています。
|