クラス MockWebServiceServer
java.lang.ObjectSE
org.springframework.ws.test.client.MockWebServiceServer
クライアント側の Web サービステストのメインエントリポイント。通常、
WebServiceTemplate のテスト、リクエストメッセージに対する期待値の設定、レスポンスメッセージの作成に使用されます。このクラスの一般的な使用箇所は次のとおりです。
createServer(WebServiceTemplate)、createServer(WebServiceGatewaySupport)、createServer(ApplicationContext)を呼び出して、MockWebServiceServerインスタンスを作成します。expect(RequestMatcher)を呼び出して、おそらくRequestMatchersで提供されているデフォルトのRequestMatcher実装(静的にインポート可能)を使用して、リクエストの期待値を設定します。ResponseActions.andExpect(RequestMatcher)呼び出しを連鎖させることにより、複数の期待値を設定できます。andRespond(ResponseCreator)を呼び出して、おそらくResponseCreatorsで提供されているデフォルトのResponseCreator実装(静的にインポート可能)を使用して、適切なレスポンスメッセージを作成します。WebServiceTemplateは、クライアントコードを介して直接、または通常どおりに使用します。verify()を呼び出します。
例:
import org.junit.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.xml.transform.StringSource;
import org.springframework.ws.test.client.MockWebServiceServer;
import static org.springframework.ws.test.client.RequestMatchers.*;
import static org.springframework.ws.test.client.ResponseCreators.*;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("applicationContext.xml")
public class MyWebServiceClientIntegrationTest {
// MyWebServiceClient extends WebServiceGatewaySupport, and is configured in applicationContext.xml
@Autowired
private MyWebServiceClient client;
private MockWebServiceServer mockServer;
@Before
public void createServer() throws Exception {
mockServer = MockWebServiceServer.createServer(client);
}
@Test
public void getCustomerCount() throws Exception {
Source expectedRequestPayload =
new StringSource("<customerCountRequest xmlns=\"http://springframework.org/spring-ws/test\" />");
Source responsePayload = new StringSource("<customerCountResponse xmlns='http://springframework.org/spring-ws/test'>" +
"<customerCount>10</customerCount>" +
"</customerCountResponse>");
mockServer.expect(payload(expectedRequestPayload)).andRespond(withPayload(responsePayload));
// client.getCustomerCount() uses the WebServiceTemplate
int customerCount = client.getCustomerCount();
assertEquals(10, response.getCustomerCount());
mockServer.verify();
}
}- 導入:
- 2.0
コンストラクター概要
コンストラクター方法の概要
修飾子と型メソッド説明static MockWebServiceServercreateServer(org.springframework.context.ApplicationContext applicationContext) 指定されたApplicationContextに基づいてMockWebServiceServerインスタンスを作成します。static MockWebServiceServercreateServer(WebServiceGatewaySupport gatewaySupport) 指定されたWebServiceGatewaySupportに基づいてMockWebServiceServerインスタンスを作成します。static MockWebServiceServercreateServer(WebServiceTemplate webServiceTemplate) 指定されたWebServiceTemplateに基づいてMockWebServiceServerインスタンスを作成します。expect(RequestMatcher requestMatcher) 指定されたRequestMatcherによって指定された期待値を記録します。voidreset()MockWebServiceMessageSenderの期待をリセットします。voidverify()MockWebServiceMessageSenderのすべての期待が満たされていることを確認します。
コンストラクターの詳細
MockWebServiceServer
方法の詳細
createServer
指定されたWebServiceTemplateに基づいてMockWebServiceServerインスタンスを作成します。- パラメーター:
webServiceTemplate- Web サービステンプレート- 戻り値:
- 作成されたサーバー
createServer
指定されたWebServiceGatewaySupportに基づいてMockWebServiceServerインスタンスを作成します。- パラメーター:
gatewaySupport- クライアントクラス- 戻り値:
- 作成されたサーバー
createServer
public static MockWebServiceServer createServer(org.springframework.context.ApplicationContext applicationContext) 指定されたApplicationContextに基づいてMockWebServiceServerインスタンスを作成します。このファクトリメソッドは、指定されたアプリケーションコンテキストで構成済みの
WebServiceTemplateを見つけようとします。テンプレートが見つからない場合は、WebServiceGatewaySupportを見つけようとし、構成されたテンプレートを使用します。どちらも見つからない場合は、例外がスローされます。- パラメーター:
applicationContext- クライアントのベースとなるアプリケーションコンテキスト- 戻り値:
- 作成されたサーバー
- 例外:
IllegalArgumentExceptionSE- 指定されたアプリケーションコンテキストにWebServiceTemplateもWebServiceGatewaySupportも含まれていない場合。
expect
指定されたRequestMatcherによって指定された期待値を記録します。レスポンスの作成、またはより多くの期待値の設定を可能にするResponseActionsオブジェクトを返します。- パラメーター:
requestMatcher- リクエストマッチャーが期待されます- 戻り値:
- レスポンスアクション
verify
public void verify()MockWebServiceMessageSenderのすべての期待が満たされていることを確認します。- 例外:
AssertionErrorSE- 期待が満たされない場合
reset
public void reset()MockWebServiceMessageSenderの期待をリセットします。