Как смоделировать Джерси REST API-вызов в модульном тестировании - PullRequest
0 голосов
/ 15 ноября 2018

Я написал 2 REST API, которые работают нормально. Класс выглядит следующим образом

@Path("/calculation")
public class CalculationResource {

@GET
@Path ("/{var1}")
@Produces(MediaType.APPLICATION_JSON)
public List<Result> CalculateNumber(@PathParam("var1") int number) {

    MyCalculationService service = new CalculationService();

    //Some number calculation here
    //construct new Result result_1

    //Calling my second REST api
    RestTemplate restTemplate = new RestTemplate();
    Result result_2 = restTemplate.getForObject("url to 2nd rest", Result.class);

    List<Result> resultList = new ArrayList<Result>();
    resultList.add(result_1);
    resultList.add(result_2);
    return resultList;
}   
}

мой юнит-тест выглядит следующим образом

@Test
public void testCalculation() {

    Response response = given()
            .given().header("Content-Language", "en_US")
            .contentType("application/json").body("number").body("quote").when().get("url to calculation");
    JsonPath jsonPath = new JsonPath(response.asString()); 
    String value = jsonString.get("text").toString(); 
    Assert.assertEquals("[Hello]", value);
}

У меня вопрос, как мне посмеяться над вызовом моего второго REST API в модульном тестировании? Возможно, Mocktio? но я понятия не имею, как издеваться над звонком остальных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...