아래와 같이 RESTful 리소스 클래스와 facade 메서드를 조롱해야하는 경우 외관이 조롱되지 않습니다. 예컨대Mockito를 사용한 모의 RESTful (JAX-RS) 리소스 클래스
,
@Path("/v1/stocks")
public class StockResource {
@GET
@Path("/{stockid}")
@Produces({ MediaType.APPLICATION_JSON })
public Response getStock(@PathParam("stockid") String stockid) {
Stock stock = TestFacade.findStock(stockid);
if (!ObjectUtils.equals(stock, null)) {
return Response.status(Status.OK).entity(stock).build();
}
return Response.status(Status.BAD_REQUEST).build();
}
}
@RunWith(MockitoJUnitRunner.class)
public class StockTest{
RestClient restClient = new RestClient();
@Mock
private TestFacade facade;
@Test
public void getStockReturnsStock(){
// given
given(facade.findStock(stockid))
.willReturn(new Stock());
Resource resource = restClient.resource(url + "/1234");
// when
ClientResponse response = (ClientResponse) resource.accept(
"application/json").get();
// verify
assertEquals(200, response.getStatusCode());
verify(facade, Mockito.times(1)).findStock("stockid");
}
}
어떻게하여 RESTful (JAX-RS) 자원 클래스 내부 외관 메소드 호출을 모방? 거기에 리소스 클래스와 메서드 호출 두 모의 수 있습니다 가능성이.
내가 다른 EJB 조회의 문제가 있었다. 요청 및 응답을위한 클라이언트 코드를 작성할 필요가 없습니다. 이제 리소스 클래스의 메서드를 조롱 할 수 있습니다. – user3587174