[Util] Controller 단위 테스트 (@WebMvcTest, MockMvc)

2023. 8. 22. 20:40· 기존(310)/🐸Utils
목차
  1. @WebMvcTest
  2. MockMvc

@WebMvcTest

Application Context 를 완전하게 실행시키지 않고 (Start) layer 만 테스트 하고 싶을때

@WebMvcTest 를 사용하는것을 고려한다.

RestApi 사용할때 특히 좋다.

 

 

MockMvc

애플리케이션을 배포하지 않고도, 서버의 MVC 동작을 테스트 할 수 있는 라이브러리이다.

주로 Controller 레이어 단위테스트에 많이 사용된다. 

 

@WebMvcTest
class PostControllerTest {

    @Autowired
    private MockMvc mockMvc;

    @Test
    @DisplayName("/posts 요청시 Hello World 를 출력한다.")
    void Post() throws Exception {

        // expected
        mockMvc.perform(MockMvcRequestBuilders.post("/posts")
                        .contentType(MediaType.APPLICATION_JSON_VALUE)
                        .content("{\"title\":\"제목\",\"content\":\"내용\"}")
                )
                .andExpect(MockMvcResultMatchers.status().isOk())
                .andExpect(MockMvcResultMatchers.content().string("Hello World"))
                .andDo(MockMvcResultHandlers.print()); // 콘솔창 직히기
    }
}

 

 

 

 

** Controller 부분에 Log 를 찍으면 Log 값도 같이찍힌다 **

@Slf4j
@RestController // ResponseBody + Controller = RestController
public class PostController {

    @PostMapping("/posts")
    public String get(@RequestBody PostCreate create) {
        log.info("create = {}" , create.toString());
        return "Hello World";
    }

}

 

저작자표시 (새창열림)

'기존 > 🐸Utils' 카테고리의 다른 글

[CentOS] MariaDB 설치 및 세팅  (1) 2023.10.28
[Ubuntu] Tomcat 8.5 설치 및 jdk11 버전 설치  (0) 2023.10.22
[톰캣서버] 톰캣에서 지원해주는 MemoryError 해결  (0) 2023.10.21
[centos7] 방화벽 열기 , 톰캣설치  (0) 2023.09.19
[Vue] Vue 설치 및 ElementPlus and BootStarap and Axios install  (0) 2023.09.03
  1. @WebMvcTest
  2. MockMvc
'기존(310)/🐸Utils' 카테고리의 다른 글
  • [Ubuntu] Tomcat 8.5 설치 및 jdk11 버전 설치
  • [톰캣서버] 톰캣에서 지원해주는 MemoryError 해결
  • [centos7] 방화벽 열기 , 톰캣설치
  • [Vue] Vue 설치 및 ElementPlus and BootStarap and Axios install
조각남자
조각남자
프로그래밍 기술 및 저장소
조각남자
조각남자
조각남자
전체
오늘
어제
  • 전체 보기
    • Java
      • Spring
    • 기존
      • 🏀Jsp
      • 🏀Spring
      • 🏀Pom.xml
      • 🏀SpringBoot
      • 🏀JavaExcption
      • 🏀JavaDB
      • 🏀SpringBootCloneWebSite
      • 🏀SptringDependency
      • 🏀JpaEnvorinoment
      • 🏀Thymeleaf
      • 🏀Node
      • 🏀Pyton
      • 🏀DataBase
      • 🏀JavaScript
      • 🏀Android
      • 🏀JPA
      • 🏀Flutter
      • 🐸Utils
      • 🎫 Batch
      • 🎞️JenKins
      • 🎈Python
      • 🎗️AWS
      • 🦠Vue
      • 🐳React
      • 🖲️kafka
      • Next.js

공지사항

  • 공지사항

인기 글

태그

  • D

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.1
조각남자
[Util] Controller 단위 테스트 (@WebMvcTest, MockMvc)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.