응답을 반환하는 Rest Easy 웹 서비스를 호출하는 컨트롤러 클래스에 함수가 있습니다. 특정 기능을 단위 테스트해야합니다.컨트롤러 클래스에 정의 된 웹 서비스 요청을 조롱하는 방법은 무엇입니까?
public void createOrderRequest(OrderModel orderModel, ResourceBundle resourceBundle, AspectModel aspectModel) {
try {
LOG.debug("Creating order request");
OrderReq orderRequest = new OrderReq();
orderRequest.getHeader().setDestination("http://localhost:8080/middleware/ws/services/txn/getReport");
orderRequest.setUserId("abc");
OrderResp response = (OrderResp) OrderService.getInstance().getOrderService().sendRequest(orderRequest);
if (response.getHeader().getErrorCode() == ErrorCode.SUCCESS.getErrorCode()) {
LOG.debug("Successfully send order request");
orderModel.setErrorDescription("Order successfully sent");
aspectModel.set(orderModel);
}
} catch (Exception ex) {
LOG.error("Error while sending order request: " + ex.getMessage());
}
}
은 내가 주문 요청 객체 OrderReq
및 응답 객체 OrderResp
을 조롱하고 싶다. 제 의도는 나머지 쉬운 웹 서비스 요청에 대한 모의 응답을 만드는 것입니다. 그것을 어떻게 성취 할 수 있습니까? 그들은 이후 (패키지 개인 (기본값) 가시성을 사용
public void createOrderRequest(OrderModel orderModel, ResourceBundle resourceBundle, AspectModel aspectModel) {
try {
LOG.debug("Creating order request");
OrderReq orderRequest = createOrderReq();
....
}
}
/*test*/ OrderReq createOrderReq() { return new OrderReq(); }
이 테스트는 메소드를 오버라이드 (override) 할 수 있습니다
당신의 주제는 당신이 서비스를 조롱하길 원한다고 말하면 나중에 묻습니다. 실제로 무엇을하고 싶니? 그리고, 개인적인 방법을 위해 명백한 방법으로 테스트하는 것은 불가능합니다. –
@Maleenc 내 편집을 참조하십시오. 사실 저는 요청 및 응답 객체를 조롱하고 단위 테스트를하고 싶습니다. –