如果我需要模擬RESTful資源類和下面的facade方法,那麼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 2014-10-02 23:59:06