2017-01-03 6 views
0

@GETメソッドをチェックしようとすると、テストが失敗します。RestEasyクライアントは@PathParam引数を使用できません

方法:

@GET 
@Path("{eventId}") 
public Response getEvent(@PathParam("eventId") String eventId){ 
    return Response.ok(this.event.getEventFromId(eventId)).build(); 
} 

テスト:私は方法をこのように、テスト作品を置く場合

@Test 
@InSequence(11) 
@Header(name = "Authorization", value = "Basic cGFibG86cGFibG9wYWJsbw==") 
@RunAsClient 
public void testGetEventById(@ArquillianResteasyResource(BASE_PATH + "{eventId}") ResteasyWebTarget webTarget) { 
    final Response response = webTarget.queryParam("eventId", "1").request().get(); 

    assertThat(response, hasOkStatus()); 

    final Event Event = EventType.readEntity(response); 

    Assert.assertNotNull(Event); 
} 

@GET 
@Path("eventId") 
public Response getEvent(){ 
    return Response.ok(this.event.getEventFromId("1")).build(); 
} 

私の悪い英語を申し訳ありません。 Thks

+0

'webTarget.queryParam'を使うと' Path Paramter'ではなく 'URL parameter'を追加しているようです –

答えて

0

PathParamとQuery Paramsを混同している可能性があります。 PathParamがurl/{eventId}/... クエリパラメータがurl?eventId=1 の場合は、実際にリクエストをハードコーディングしているので、どのリクエストでも値として常に1が使用されるため、希望する効果はないと思います。

関連する問題