Модульное тестирование пружинного загрузочного контроллера

Я пытаюсь провести модульное тестирование моего весеннего загрузочного контроллера. Здесь контроллер вызывает метод, который, в свою очередь, переходит в другую конечную точку, чтобы получить оттуда ответ. Теперь, как мне проверить этот случай?

  1. Мне нужно поднять это приложение перед запуском моего тестового примера (которым является сам родитель), как это можно сделать в самом тестовом примере.
  2. Если мне нужно использовать MockMVC, я не уверен, как настроить приложение, используя то же самое.

     @RestController
     public class MyController {
     @Autowired private RestTemplate restTemplate;
    
     @Bean
     // to map RestTemplate objects on auto wiring
     RestTemplate restResponseTemplate() {
       return new RestTemplate();
     }
    

// для проверки этого метода, здесь, чтобы получить ответ, конечная точка должна быть активной, то есть само это приложение

    @ApiOperation(value = "Get a default GreetingService")
    @RequestMapping(value = "/envProp", method = RequestMethod.GET)
    public Object getProperties(String hostEndpoint) throws IOException {
        RestTemplate restTemplate = new RestTemplate();
        LinkedHashMap response = (LinkedHashMap) RestTemplate.getForObject(hostEndpoint + "/env", Object.class);
        return new Variables(response);
   }

// тестовое задание

@RunWith(SpringRunner.class)
public class MyController Test {
private MyController myController = new MyController ();
private MockMvc mvc;

@Before
public void setup() {
    this.mvc = standaloneSetup(new MyController()).build();
}

@Test
 public void testToGetProperties() throws Exception {  
  this.mvc.perform(get("/envProp")
  .param("hostEndpoint","http://localhost:8080")
  .contentType(MediaType.APPLICATION_JSON))
  .andExpect(status().isOk());
}

0 ответов

Другие вопросы по тегам