public class ServletTestExecutionListener extends AbstractTestExecutionListener
WebApplicationContexts
にモックサーブレット API サポートを提供する TestExecutionListener
具体的には、ServletTestExecutionListener
は、テストインスタンスの準備中および各テストメソッドの前に、 Spring Web の RequestContextHolder
を介してスレッドローカル状態をセットアップし、WebApplicationContext
に存在する MockServletContext
に基づいて MockHttpServletRequest
、MockHttpServletResponse
、ServletWebRequest
を作成します。このリスナーは、MockHttpServletResponse
と ServletWebRequest
をテストインスタンスに注入できることも保証します。テストが完了すると、このリスナーはスレッドローカル状態をクリーンアップします。
ServletTestExecutionListener
はデフォルトで有効になっていますが、テストクラスに @WebAppConfiguration
アノテーションが付けられていない場合、通常は何もしません。詳細については、このクラスの個々のメソッドの javadoc を参照してください。
修飾子と型 | フィールドと説明 |
---|---|
static StringSE | ACTIVATE_LISTENER ServletTestExecutionListener をアクティブ化する必要があることを示す TestContext 属性の属性名。 |
static StringSE | CREATED_BY_THE_TESTCONTEXT_FRAMEWORK Spring Web の RequestContextHolder の RequestAttributes に格納されている MockHttpServletRequest が TestContext フレームワークによって作成されたことを示すリクエスト属性の属性名。 |
static StringSE | POPULATED_REQUEST_CONTEXT_HOLDER_ATTRIBUTE ServletTestExecutionListener が Spring Web の RequestContextHolder にすでに入力されていることを示す TestContext 属性の属性名。 |
static StringSE | RESET_REQUEST_CONTEXT_HOLDER_ATTRIBUTE ServletTestExecutionListener が afterTestMethod(TestContext) の Spring Web の RequestContextHolder をリセットする必要があるかどうかを示す TestContext 属性の属性名。 |
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターと説明 |
---|
ServletTestExecutionListener() |
修飾子と型 | メソッドと説明 |
---|---|
void | afterTestMethod(TestContext testContext) 提供された TestContext の RESET_REQUEST_CONTEXT_HOLDER_ATTRIBUTE の値が Boolean.TRUE SE である場合、このメソッドは、(1)Spring Web の RequestContextHolder をリセットして各テストメソッドの後にスレッドローカル状態をクリーンアップし、(2) 新しいモックが後続のテストインスタンスに確実に挿入されるようにします。テストコンテキストの DependencyInjectionTestExecutionListener.REINJECT_DEPENDENCIES_ATTRIBUTE を true に設定してテストします。 |
void | beforeTestMethod(TestContext testContext) Spring Web の RequestContextHolder を介して各テストメソッドの前にスレッドローカル状態を設定します。ただし、テストクラスに @WebAppConfiguration アノテーションが付けられている場合のみです。 |
int | getOrder() 1000 を返します。 |
void | prepareTestInstance(TestContext testContext) Spring Web の RequestContextHolder を介したテストインスタンス準備コールバックフェーズ中にスレッドローカル状態をセットアップしますが、テストクラスに @WebAppConfiguration アノテーションが付けられている場合のみです。 |
afterTestClass, afterTestExecution, beforeTestClass, beforeTestExecution
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public static final StringSE RESET_REQUEST_CONTEXT_HOLDER_ATTRIBUTE
ServletTestExecutionListener
が afterTestMethod(TestContext)
の Spring Web の RequestContextHolder
をリセットする必要があるかどうかを示す TestContext
属性の属性名。 許容値には、Boolean.TRUE
SE および Boolean.FALSE
SE が含まれます。
public static final StringSE POPULATED_REQUEST_CONTEXT_HOLDER_ATTRIBUTE
ServletTestExecutionListener
が Spring Web の RequestContextHolder
にすでに入力されていることを示す TestContext
属性の属性名。 許容値には、Boolean.TRUE
SE および Boolean.FALSE
SE が含まれます。
public static final StringSE CREATED_BY_THE_TESTCONTEXT_FRAMEWORK
RequestContextHolder
の RequestAttributes
に格納されている MockHttpServletRequest
が TestContext フレームワークによって作成されたことを示すリクエスト属性の属性名。 許容値には、Boolean.TRUE
SE および Boolean.FALSE
SE が含まれます。
public static final StringSE ACTIVATE_LISTENER
ServletTestExecutionListener
をアクティブ化する必要があることを示す TestContext
属性の属性名。true
に設定されていない場合、テストクラスに @WebAppConfiguration
アノテーションが付けられるとアクティブ化が行われます。 許容値には、Boolean.TRUE
SE および Boolean.FALSE
SE が含まれます。
public final int getOrder()
1000
を返します。Ordered
の getOrder
AbstractTestExecutionListener
の getOrder
Ordered.HIGHEST_PRECEDENCE
, Ordered.LOWEST_PRECEDENCE
public void prepareTestInstance(TestContext testContext) throws ExceptionSE
RequestContextHolder
を介したテストインスタンス準備コールバックフェーズ中にスレッドローカル状態をセットアップしますが、テストクラスに @WebAppConfiguration
アノテーションが付けられている場合のみです。TestExecutionListener
の prepareTestInstance
AbstractTestExecutionListener
の prepareTestInstance
testContext
- テストのテストコンテキスト。null
ExceptionSE
- 例外の伝播を許可します TestExecutionListener.prepareTestInstance(TestContext)
, setUpRequestContextIfNecessary(TestContext)
public void beforeTestMethod(TestContext testContext) throws ExceptionSE
RequestContextHolder
を介して各テストメソッドの前にスレッドローカル状態を設定します。ただし、テストクラスに @WebAppConfiguration
アノテーションが付けられている場合のみです。TestExecutionListener
の beforeTestMethod
AbstractTestExecutionListener
の beforeTestMethod
testContext
- テストメソッドが実行されるテストコンテキスト。非 null
ExceptionSE
- 例外の伝播を許可します TestExecutionListener.beforeTestMethod(TestContext)
, setUpRequestContextIfNecessary(TestContext)
public void afterTestMethod(TestContext testContext) throws ExceptionSE
TestContext
の RESET_REQUEST_CONTEXT_HOLDER_ATTRIBUTE
の値が Boolean.TRUE
SE である場合、このメソッドは、(1)Spring Web の RequestContextHolder
をリセットして各テストメソッドの後にスレッドローカル状態をクリーンアップし、(2) 新しいモックが後続のテストインスタンスに確実に挿入されるようにします。テストコンテキストの DependencyInjectionTestExecutionListener.REINJECT_DEPENDENCIES_ATTRIBUTE
を true
に設定してテストします。RESET_REQUEST_CONTEXT_HOLDER_ATTRIBUTE
および POPULATED_REQUEST_CONTEXT_HOLDER_ATTRIBUTE
は、それらの値に関係なく、その後テストコンテキストから削除されます。
TestExecutionListener
の afterTestMethod
AbstractTestExecutionListener
の afterTestMethod
testContext
- テストメソッドが実行されたテストコンテキスト ; 決して null
ExceptionSE
- 例外の伝播を許可します TestExecutionListener.afterTestMethod(TestContext)