§ 학습 전(계획) §
▶ 학습 목표는 무엇인가?
- 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 |