Тест огурца для контроллера Java-класса - PullRequest
0 голосов
/ 01 октября 2018

Я сейчас работаю над веб-проектом.Я реализовал класс контроллера.Для класса контроллера у меня есть аннотация @GetMapping ('/ api / abc') для вызова класса AbcController.По сути, он возвращает карту, содержащую объект, который key = «myKey», value = «myValue».Что мне нужно сделать, это написать тест на огурец для этого класса.Я видел, как некоторые люди используют httpEntity для подобных проблем.Тем не менее, я все еще смущен по этому поводу.Я буду загружать свой код Java и класс объектов позже, так как сейчас я не дома.То, что я думаю, я могу проверить 2 часть.1: код ответа, который должен быть 200. 2: Создайте объект карты с Key = «myKey» и получите значение от запуска через класс контроллера и, наконец, сравните, если два значения равны.Может ли кто-нибудь помочь мне с этим?Я не очень понимаю, как работает httpEntity.Спасибо.

Вот мой код для шагов, может кто-нибудь сказать мне, нахожусь ли я на правильном пути или нет, и какая часть httpEntity или ResponseEntity содержит нужное мне значение (которое должно быть возвращено из вызова API).Спасибо!

public class myControllerStepDef(){
    private ResponseEntity<String[]> myResponse;
    RequestCall back requesCallback;
    HttpEntity<String> entity;
    HttpHeaders headers;
    UriComponentsBuilder builder;

@When("^the my_service gets api/abc request is sent$")
public void the_serice_gets_abc_request(){
    builder = UriComponentsBuilder.fromUriString("/api/abc");
    headers = new HttpHeaders();
    entity = new HttpEntity<String>(null, headers);
    myResponse = restTemplate.exchange(builder.toUriString(), 
                 HttpMethod.GET, entity, String[].class);
 }

 @Then("^http response for my_service for abc with status code 200$")
 public void http_response_for_my_service_for_abc(int arg1){
     Assert.assertEquals(arg1, myResponse.getStatusCodeValue());
 }

 @Then("^verify the value of abc $")
 public void verify_the_value_of_abc(String result){
      //
 }

}

...