[Spring] Test 방법 정리

헌치·2022년 5월 10일
0

Spring

목록 보기
12/13

스프링 테스트

  • Junit 5

단위테스트 (unit test)

  • 가장 작은 단위의 테스트
  • 테스트 속도가 빠르다
  • 연관관계가 있는 객체들은 어떻게 테스트?
    • 사회적 테스트(SOCIABLE) : 실제로 연관된 객체들을 주입한 후 테스트
    • 고독한 테스트(SOLITARY) : 대상이 되는 객체만 테스트(MOCK 객체 이용)
      • when/thenReturn
      • Mockito가 최선은 아니다 : Mock으로 만들 객체의 구현사항을 알아야 함

통합테스트 (Integration Test)

  • 리스폰스...잘 오는지...
  • 기존 컨트롤러 테스트 코드 참조
  • @SpringBootTest : 실제 로직을 검증 가능
    • webEnvironment 속성을 사용하여 테스트 서버의 실행 방법을 설정
    • RANDOM_PORT : 실제 웹 환경과 유사하게 설정

E2E 테스트 (END-TO-END Test)

  • 처음부터 끝까지 테스트
  • UI 렌더링 테스트까지 가능
  • 셀리늄 사용?
  • API E2E Test : RestAssured
  • 올바른 응답을 주는지 확인
  • 주로 인수테스트에 사용
    • 인수테스트 : API 확인

테스트 클라이언트

  • RestAssured : @SpringBootTest 사용
    • 실제 웹 환경을 사용해 테스트
    • 외부 의존성 추가 필요
    • 느림
    • 읽기 쉬움
  • MockMvc : @WebMvcTest 사용
    • Mock(가짜 객체) 사용
    • Spring Framework Test 클래스
    • 빠름
    • 읽기 힘듬

공부할 것

  • E2E 테스트, 통합 테스트, 인수 테스트 사이의 관계

참고자료

0503 수업
Tecoble : MockMvc VS RestAssured

profile
🌱 함께 자라는 중입니다 🚀 rerub0831@gmail.com

0개의 댓글