Spring Boot Web Test - 404 Не найдено - PullRequest
0 голосов
/ 31 мая 2018

Я пытаюсь проверить контроллер на очень простой запрос GET с @WebMvcTest, но я получаю 404 вместо 200, и консоль не дает мне ничего полезного, чтобы понять, что происходит.

Я установил точку останова в начале контроллера, но он никогда не прибывает.Если я запускаю приложение, конечная точка работает должным образом.

Вот мой контроллер:

@RestController
public class RegistroClienteController  {        

    @GetMapping("/api/registro-cliente")
    public ResponseEntity<Void> crearCliente() {
        return new ResponseEntity<Void>(HttpStatus.OK);
    }
}

А вот мой тест:

@RunWith(SpringRunner.class)
@WebMvcTest(RegistroClienteController.class)
@ContextConfiguration(classes = { SecurityConfig.class })
public class RegistroClienteControllerTest {

    @Autowired
    private MockMvc mockMvc;

    @MockBean
    UserDetailsService userDetailsService;

    @Test
    public void test() throws Exception {
        //@formatter:off
        mockMvc
            .perform(get("/api/registro-cliente"))
            .andExpect(status().isOk());
        //@formatter:on
    }
}

И вывод консоли:

MockHttpServletRequest:
      HTTP Method = GET
      Request URI = /api/registro-cliente
       Parameters = {}
          Headers = {}

Handler:
             Type = org.springframework.web.servlet.resource.ResourceHttpRequestHandler

Async:
    Async started = false
     Async result = null

Resolved Exception:
             Type = null

ModelAndView:
        View name = null
             View = null
            Model = null

FlashMap:
       Attributes = null

MockHttpServletResponse:
           Status = 404
    Error message = null
          Headers = {X-Content-Type-Options=[nosniff], X-XSS-Protection=[1; mode=block], Cache-Control=[no-cache, no-store, max-age=0, must-revalidate], Pragma=[no-cache], Expires=[0], X-Frame-Options=[DENY]}
     Content type = null
             Body = 
    Forwarded URL = null
   Redirected URL = null
          Cookies = [[Cookie@624b3544 name = 'XSRF-TOKEN', value = 'f9d63654-4e21-4d41-b3bb-6767703268b5', comment = [null], domain = [null], maxAge = -1, path = '/', secure = false, version = 0, httpOnly = false]]

1 Ответ

0 голосов
/ 01 июня 2018

Я могу попытаться изменить аннотации

@WebMvcTest(RegistroClienteController.class)

на

@SpringBootTest(classes = {your application class}.class)

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