Spring Boot WebMvcTest не достигает контроллера - PullRequest
1 голос
/ 12 апреля 2019

У меня проблема с тем, что мой весенний тест MVC не достигает контроллера с соответствующим путем.

@RunWith(SpringRunner.class)
@WebMvcTest(controllers = TaskController.class)
public class TaskRestControllerTest {
    @Autowired
    private MockMvc mvc;

    @Test
    public void givenTasks_whenGetTaskById_thenReturnJsonMap() throws Exception {
        mvc.perform(get("/task/{id}", "001").contentType(MediaType.APPLICATION_JSON))
            .andExpect(status().isOk());
    }


    @Test
    public void givenTasks_whenGetTasks_thenReturnJsonArray() throws Exception {
        mvc.perform(get("/task").contentType(MediaType.APPLICATION_JSON))
            .andExpect(status().isOk());
    }
}

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

@RestController
@RequestMapping("/task")
public class TaskController {

    @GetMapping
    public ResponseEntity<List<Task>> getTasks() {
        return new ResponseEntity<>(Arrays.asList(new Task(), new Task()), HttpStatus.OK);
    }

    @GetMapping(value = "/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
    public ResponseEntity<Task> getTaskById(@PathVariable String id) {
        return new ResponseEntity<>(new Task(), HttpStatus.OK);
    }
}

Чего мне не хватает?Я постоянно получаю ответ 404.И при отладке он не попадает в TaskController.

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

У меня естьтакже попытался удалить уровень контроллера RequestMapping и явно указать отображение в @GetMappings ... Также это не сработало.

Я использую версию 2.1.4.RELEASE spring-boot - * зависимостей.

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