JUnit [2/2]: Service, Repository, Controller, 동시성 테스트
·
🍃SpringBoot
1. Service 계층 테스트학습 목표Service 단위 테스트의 명확한 목적 정의의존 관계에 있는 Repository 계층을 완벽히 Mock 처리하여 격리성공 케이스와 실패/예외 케이스를 나누어 비즈니스 로직 검증ArgumentCaptor를 활용하여 서비스 내부에서 가공된 데이터 정밀 검증private 메서드를 직접 테스트하지 않는 단위 테스트 원칙 이해1.1 Service 테스트란?일반적인 웹 애플리케이션은 Controller ➔ Service ➔ Repository ➔ DB 형태의 계층 구조를 가진다. 여기에서 집중적으로 검증하고자 하는 대상은 오직 Service(비즈니스 로직 계층)다. 따라서 상위 계층인 Controller의 HTTP 요청/응답 스펙이나, 하위 계층인 DB 영속성 메커니즘은 철..
JUnit [1/2]: 테스트 개념과 JUnit, Mockito 사용법
·
🍃SpringBoot
1. 테스트의 기본 개념학습 목표왜 테스트를 작성하는가?수동 테스트와 자동 테스트의 차이는 무엇인가?테스트는 비용 대비 가치가 있는가?리팩토링과 테스트는 어떤 관계인가?테스트 종류에는 무엇이 있는가?좋은 테스트는 어떤 테스트인가?1) 왜 테스트를 작성하는가?기능을 구현한 후 코드가 정상적으로 동작하는지 검증하는 과정은 필수적이다. 초기에는 보통 다음과 같이 main 메서드를 이용해 콘솔에 값을 출력하는 방식으로 검증을 시작한다.// 검증 대상 클래스public class Calculator { public int add(int a, int b) { return a + b; }}// main 메서드를 통한 검증public static void main(String[] args) { ..