私は、ヘルパークラスのメソッドをテストするJUnitテストケースを作成しようとしています。このメソッドは、RESTを使用して外部アプリケーションを呼び出します.JUnitテストで模擬しようとしているのはこの呼び出しです。MockRestServiceServerを使ってREST呼び出しをモックする
ヘルパーメソッドは、SpringのRestTemplateを使用してREST呼び出しを行います。
@Before
public void setUp() throws Exception {
mockServer = MockRestServiceServer.createServer(helperClass.getRestTemplate());
}
ヘルパーメソッドを作るとき、それは適切な応答を返すべきであるように、私は、モックサーバーをシード:、私はモックRESTサーバとモックRESTテンプレートを作成し、このようにそれらをinstanitiate私のテストで
REST呼び出し:私は私のテストを実行すると
// response is some XML in a String
mockServer
.expect(MockRestRequestMatchers.requestTo(new URI(myURL)))
.andExpect(MockRestRequestMatchers.method(HttpMethod.GET))
.andRespond(MockRestResponseCreators.withStatus(HttpStatus.OK)
.contentType(MediaType.APPLICATION_XML)
.body(response));
は、ヘルパーメソッドはREST落札呼び出し、テストが失敗したからヌル応答を受け取ります。
ヘルパーが行うREST URLにはクエリパラメータがあり、 "http://server:port/application/resource?queryparam1=value1&queryparam2=value2"のようになります。
私は(それが応答を返すように試合を引き出すために) 『myURL』変数にクエリパラメータなしの両方ととURL(「http://server:port/application/resource」)を入れて試してみたが、モックを得ることができませんサーバーは何かを返す。
私はこの種のコードの例を検索しようとしましたが、私のシナリオに似ているようなものはまだ見つけていません。
春バージョン4.1.7。
ありがとうございました。
Tha他の多くのソースとは異なり、静的メソッドにクラスを書き込むためのものです。 'requestTo'です。 – sjngm