본문 바로가기

개발/스프링 프레임워크

[Spring Boot] AutoConfigureMockMvc 사용하여 Controller 테스트

1. Sample Controller 생성 

 

@RestController
@Slf4j
@RequestMapping("/sample-board")
public class SampleBoardController {

    private SampleBoardService sampleBoardService;

    public SampleBoardController(SampleBoardService sampleBoardService) {
        this.sampleBoardService = sampleBoardService;
    }

    @GetMapping
    public List<SampleBoard> getSampleBoards() { ///sample-board
        return sampleBoardService.getSampleBoards();
    }

}

 

2. Test 클래스 생성 

 

* mockMvc 객체를 Autowired 하여 url, header 등을 입력하여 전송한다. 

@AutoConfigureMockMvc
@SpringBootTest
class SampleBoardControllerTest {

    @Autowired
    private MockMvc mockMvc;

    @Autowired
    private ObjectMapper objectMapper;

    @Test
    void getSampleBoards() throws Exception{

        HttpHeaders httpHeaders = new HttpHeaders();

        mockMvc.perform(get("/sample-board")
                        .contentType(MediaType.APPLICATION_JSON)
                        .headers(httpHeaders))
                .andExpect(status().isOk())
                .andDo(print());
    }

}