Package | Description |
---|---|
nablarch.test.core.http |
HTTPリクエスト機能のテスト機能を提供する。
|
Class and Description |
---|
AbstractHttpRequestTestTemplate
リクエスト単体テストをテンプレート化するクラス。
本クラスを使用することで、リクエスト単体テストのテストソース、テストデータを 定型化することができる。 |
Advice
リクエスト単体テストのテスト実行前後に起動されるコールバックインタフェース。
リクエスト単体テストで、テスト実行前後に特別な準備処理、結果確認処理が必要な場合は
本クラスのサブクラスにてその処理を定義する。
|
HttpRequestTestSupport
HTTPリクエストテスト用の基底クラス。
|
HttpRequestTestSupportHandler
HTTPリクエストのテスト時に先頭の設定するリクエストハンドラ。
本クラスでは、以下の処理を行う。 テストクラスから指定されたExecutionContextを、 handleメソッドの引数のExecutionContextへ移送する。 ExecutionContext#handleNext呼び出し後のExecutionContextの情報を テストクラスから指定されたExecutionContextへ移送する。 ハンドラキューの処理結果となるHttpResponseオブジェクトのステータスコードを アサートできるようにスタティック変数として保持しておく。 HttpRequestTestSupport.execute(Class, String, HttpRequest, ExecutionContext) から
nablarch.fw.web.HttpServer#handle(HttpRequest, ExecutionContext)が呼ばれるが、
ここで引数にExecutionContext を渡しても使用されない。
(nablarch.fw.Handler#handle(Object, nablarch.fw.ExecutionContext)を実装する為、
引数として用意されているだけで、実際には使用しない)
実際には内蔵サーバ内で新たに生成されたExecutionContext が使用される。
テストクラス側で生成したExecutionContext の情報を使用してテストを行う為に、
本ハンドラにて移送を行う。
また、コンテンツパスを指定してレスポンスを行った場合、
内蔵サーバからは一律ステータスコード200が返却される。
(JSP等のリソースに対するサーブレットフォーワードは全てこれに含まれる。)
このため、HttpResponseオブジェクトのステータスコードと、クライアントに対する
実際のレスポンスコードが一致しなくなるので、本ハンドラにHttpResponseオブジェクトのステータス
コードを保持しておき、後続のアサート処理で参照する。
ただし、リダイレクトの場合はServletAPI(HttpServletResponse.sendRedirect(String) )
を使用しているため、HttpResponse にはリダイレクトのステータスコードは設定されない。
(ステータスコードの設定をコンテナに任せているため)
従って、リダイレクトの場合のステータスコードは、本クラスではなく、
コンテナが返却するレスポンスから取得する必要がある。 |
HttpTestConfiguration
HTTPリクエストテスト用の設定定義クラス。
|
TestCaseInfo
データシートに定義されたテストケース情報を格納するクラス。
|