2025-04-08T19:56:24

This commit is contained in:
2025-04-08 19:56:24 +09:00
parent a75a1dbd0f
commit eef061c1c9
100 changed files with 18639 additions and 0 deletions

74
docs/test/README.md Normal file
View File

@@ -0,0 +1,74 @@
스프링 부트에서의 테스트에 관한 책의 목차를 작성해 드리겠습니다. 이 목차는 초보자부터 중급 개발자까지 유용하게 사용할 수 있도록 구성했으며, 실무에서 자주 다루는 주제를 포함했습니다. 아래는 제안하는 목차입니다:
---
### 목차
#### 1장. 스프링 부트 테스트 개요
- 1.1 테스트의 중요성과 스프링 부트에서의 역할
- 1.2 스프링 부트 테스트 프레임워크 소개
- 1.3 테스트 환경 설정 기초
- 1.4 JUnit과 스프링 부트의 통합
#### 2장. 단위 테스트 작성
- 2.1 단위 테스트란 무엇인가
- 2.2 스프링 부트에서 단위 테스트 설정
- 2.3 Mockito를 활용한 모킹
- 2.4 컨트롤러, 서비스, 리포지토리 단위 테스트 예제
#### 3장. 통합 테스트
- 3.1 통합 테스트의 개념과 필요성
- 3.2 @SpringBootTest 애너테이션 이해
- 3.3 테스트용 데이터베이스 설정 (H2, Testcontainers)
- 3.4 REST API 통합 테스트 실습
#### 4장. 테스트 유틸리티와 도구
- 4.1 AssertJ로 깔끔한 검증 작성
- 4.2 Hamcrest를 활용한 유연한 매칭
- 4.3 스프링 REST Docs로 API 문서화
- 4.4 테스트 코드 리팩토링 팁
#### 5장. 테스트와 데이터 관리
- 5.1 테스트 데이터 생성 전략
- 5.2 @Transactional과 데이터 롤백
- 5.3 Flyway 또는 Liquibase를 활용한 테스트 데이터 마이그레이션
- 5.4 실제 데이터베이스와의 연동 테스트
#### 6장. 성능 및 부하 테스트
- 6.1 스프링 부트 애플리케이션 성능 테스트 개요
- 6.2 JMeter를 활용한 부하 테스트
- 6.3 Gatling으로 시나리오 기반 테스트
- 6.4 성능 테스트 결과 분석
#### 7장. 테스트와 CI/CD 통합
- 7.1 CI/CD 파이프라인에서 테스트 실행
- 7.2 GitHub Actions로 테스트 자동화
- 7.3 Jenkins와 스프링 부트 테스트 연동
- 7.4 테스트 커버리지 측정과 리포팅
#### 8장. 고급 테스트 기법
- 8.1 비동기 코드 테스트 (@Async, CompletableFuture)
- 8.2 스프링 시큐리티와 함께하는 보안 테스트
- 8.3 웹소켓 테스트
- 8.4 스프링 배치 테스트
#### 9장. 테스트 피라미드와 실무 적용
- 9.1 테스트 피라미드 이해
- 9.2 실무에서의 테스트 전략 수립
- 9.3 흔한 테스트 실수와 해결 방법
- 9.4 성공적인 테스트 문화 구축
#### 10장. 사례 연구 및 모범 사례
- 10.1 실제 프로젝트에서의 테스트 사례
- 10.2 오픈소스 프로젝트의 테스트 분석
- 10.3 모범 사례와 교훈
- 10.4 추가 학습 리소스
#### 부록
- A. 자주 사용하는 테스트 애너테이션 정리
- B. 테스트 관련 라이브러리 설치 가이드
- C. 샘플 프로젝트 GitHub 링크
---
이 목차는 스프링 부트 테스트의 기초부터 고급 주제까지 다루며, 실무에서 바로 적용 가능한 내용을 중심으로 설계되었습니다. 특정 주제에 더 깊이 들어가고 싶거나 다른 섹션을 추가하고 싶다면 말씀해 주세요!