diff --git "a/Testing/2. \353\213\250\354\234\204 \355\205\214\354\212\244\355\212\270\354\231\200 TDD.md" "b/Testing/2. \353\213\250\354\234\204 \355\205\214\354\212\244\355\212\270\354\231\200 TDD.md" index 2d7202e..9220829 100644 --- "a/Testing/2. \353\213\250\354\234\204 \355\205\214\354\212\244\355\212\270\354\231\200 TDD.md" +++ "b/Testing/2. \353\213\250\354\234\204 \355\205\214\354\212\244\355\212\270\354\231\200 TDD.md" @@ -1,4 +1,4 @@ -## 2. 단위 테스트와 TDD +# 2. 단위 테스트와 TDD
diff --git "a/Testing/3. Spring & JPA \352\270\260\353\260\230 \355\205\214\354\212\244\355\212\270.md" "b/Testing/3. Spring & JPA \352\270\260\353\260\230 \355\205\214\354\212\244\355\212\270.md" index b904557..30b7b0a 100644 --- "a/Testing/3. Spring & JPA \352\270\260\353\260\230 \355\205\214\354\212\244\355\212\270.md" +++ "b/Testing/3. Spring & JPA \352\270\260\353\260\230 \355\205\214\354\212\244\355\212\270.md" @@ -1,6 +1,19 @@ -## 3. Spring & JPA 기반 테스트 +# 3. Spring & JPA 기반 테스트 -### 레이어드 아키텍쳐(Layered Architecture) +
+ +### 목차 + +- [레이어드 아키텍쳐(Layered Architecture)](#레이어드-아키텍쳐layered-architecture) +- [Spring & JPA 살펴보기](#spring--jpa-살펴보기) +- [Persistence Layer Test](#-persistence-layer-test) +- [Business Layer Test](#-business-layer-test) +- [Presentation Layer Test](#-presentation-layer-test) + +
+
+ +## [레이어드 아키텍쳐(Layered Architecture)](#목차) - Layer 역할 - `Presentation Layer` : 사용자의 요청과 응답을 처리하는 계층 @@ -13,7 +26,7 @@
-#### 통합 테스트 +### 통합 테스트 - 여러 모듈이 협력하는 기능을 통합적으로 검증하는 테스트 - 일반적으로 작은 범위의 단위 테스트만으로는 기능 전체의 신뢰성을 보장할 수 없다. - 테스트는 풍부한 `단위 테스트`와 큰 기능 단위를 검증하는 `통합 테스트`로 구성된다. @@ -21,15 +34,15 @@
-### Spring & JPA 살펴보기 +## [Spring & JPA 살펴보기](#목차) -#### Library vs Framework +### Library vs Framework - `Library`: 내 코드가 주체가 되며, 이미 개발된 기능들을 외부(라이브러리)에서 가져와 사용함 - `Framework`: 이미 갖춰진(동작할 수 있는) 환경들이 구성되어 있고, 그것에 맞춰서 내 코드가 수동적으로 프레임 내에서 동작함
-#### Spring 3대 기술 +### Spring 3대 기술 - `IoC(Inversion Of Control)`: 제어의 역전 - 객체의 생명주기를 제 3가자가 하도록함 @@ -44,7 +57,7 @@
-#### ORM 등장 배경 +### ORM 등장 배경 - `ORM(Object-Relational Mapping)` - 객체 지향 패러다임과 관계형 DB 패러다임 간의 불일치 존재 @@ -64,7 +77,7 @@

-## ▫ Persistence Layer Test +## [▫ Persistence Layer Test](#목차) - Persistence Layer는 데이터베이스를 Access하는 역할로, 비즈니스 가공 로직이 포함되어서는 안된다. - Data에 대한 CRUD에만 집중한 레이어로, 기능 단위(단순 DB 접근 기능)로 보면 단위 테스트의 성격을 가지고 있다. @@ -125,9 +138,10 @@
+
-## ▫ Business Layer Test +## [▫ Business Layer Test](#목차) - Business Layer는 비즈니스 로직을 구현하는 역할로, Persistence Layer와의 상호 작용(Data를 읽고 쓰는 행위)를 통해 비즈니스 로직을 전개시킨다. - 트랜잭션을 보장해야 한다. @@ -135,9 +149,10 @@ +

-## ▫ Presentation Layer +## [▫ Presentation Layer Test](#목차) - 외부 세계의 요청을 가장 먼저 받는 계층으로, 파라미터에 대한 최소한의 검증을 수행한다.