본문 바로가기
생각 정리

2022. 11. 09.

by jaeyoungb 2022. 11. 9.

§ 학습 전(계획) §

▶ 학습 목표는 무엇인가?

  • Spring MVC - Testing
Hamcrest를 사용한 Assertion
슬라이스 테스트(Slice Test)

 

 이미 알고 있는 내용은 무엇인가?

모두 처음 배우는 내용들이다.

 

 


 

§ 학습 후(점검 및 평가)

 새롭게 배운 내용은 무엇인가?

  • HamCrest는 JUnit 기반의 단위 테스트에서 사용할 수 있는 Assertion Framework이다.
  • 다음과 같은 이유들로 JUnit에 지원하는 Assertion 메서드보다 더 많이 사용된다.
    • Assertion을 위한 Matcher가 자연스러운 문장으로 이어지므로, 가독성이 향상된다.
    • 테스트 실패 메시지를 이해하기 쉽다.
    • 다양한 Matcher를 제공한다.
  • Hamcrest만으로 던져진 예외를 테스트하기 위해서는 Custom Matcher를 직접 구현해 사용할 수 있다.

 

  • 특정 계층만 잘라서 테스트하는 것을 슬라이스 테스트라고 한다.
  • @SpringBootTest는 Spring Boot 기반의 애플리케이션을 테스트하기 위한 Application Context를 생성한다.
  • @AutoConfigureMockMvc는 Controller 테스트를 위한 애플리케이션의 자동 구성 작업을 해준다.
  • MockMvc는 Tomcat 같은 서버를 실행하지 않고, Spring 기반의 애플리케이션의 Controller를 테스트할 수 있는 환경을 지원해주는 Spring MVC 테스트 프레임워크이다.
  • 데이터 액세스 계층의 테스트 종료 시에는 DB의 상태를 실행 이전의 상태로 되돌려야 한다.
  • @DataJpaTest를 사용하면 Spring Data JPA 환경에서 테스트를 손쉽게 진행할 수 있다.
    (@Transaction을 포함하고 있음)

 

 다른 사람에게 설명할 수 있는가?

API 계층과 데이터 액세스 계층의 테스트에 대해서 간단하게 설명할 수 있다.

 

 아직 이해되지 않은 내용은 무엇인가?

Hamcrest에서의 여러 테스트 메서드들과 MockMvc 사용에 대해 구현이 쉽지 않다.

 

 이해되지 않은 내용을 보완하기 위해서 나는 무엇을 할 수 있는가?

오늘 실습 내용 코드들을 다시 천천히 작성해보고, 학습 내용들을 복습하면 좋을 것 같다.

 

 오늘 나의 학습 만족도는 어느 별 5개 중 몇 개를 줄 수 있는가?

  • ★★★☆☆

오늘 학습 내용들이 어려운 난이도는 아닌 것 같은데, 정작 구현하라 하면 하나도 못할 것 같다.

내용을 이해하는 것도 중요하지만, 코드로 구현할 줄 아는게 더 중요하단 걸 잊지말자.

좀 아쉬운 하루였다🤔

'생각 정리' 카테고리의 다른 글

2022. 11. 11.  (0) 2022.11.11
2022. 11. 10.  (0) 2022.11.10
2022. 11. 08.  (0) 2022.11.08
2022. 11. 07.  (0) 2022.11.07
2022. 11. 04.  (0) 2022.11.04