SERIES

TDD 적용을 위한 이론 정리

6 Posts·Last updated on March 14, 2025

TDD 개요

March 04, 2025

📌 TDD란? ✅ 테스트를 먼저 작성한 후에 실제 코드를 작성하는 개발 방법론 ✅ 요구사항을 기반으로 테스트 케이스를 먼저 만들고, 그 테스트를 통과할 수 있도록 최소한의 코드를 작성한 후, 이를 점진적으로 개선하는 방식 3단계 사이클 RED (실패하는 테스트 작성) 기능을 구현하기 전, 먼저 테스트를 작성한다. 처음에는 당연히 실패한다. GREEN…


JUnit & AssertJ

March 06, 2025

📌 JUnit이란? ✅ Java 진영에서 가장 많이 사용되는 유닛 테스트 프레임워크 ✅ Java 애플리케이션에서 유닛 테스트와 통합 테스트를 실행하는 데 사용 구성요소 JUnit 5는 다음 3가지 모듈로 구성된다. 모듈 설명 JUnit Platform 다양한 테스트 엔진을 실행할 수 있는 기반 제공 JUnit Jupiter JUnit 5의 테스트 엔진 제…


Test Double

March 07, 2025

📌 Test Double이란? ✅ 테스트 코드에서 실제 객체를 대체하는 가짜 객체 ✅ 독립적인 테스트를 수행할 수 있게 함 필요성 🔹 독립성 보장 실제 객체가 외부 DB, 네트워크, 파일 시스템 등 외부 시스템에 의존성을 가지면 테스트가 영향을 받을 수 있다. Test Double을 사용하면 외부 요소와 분리해 단위 테스트를 수행할 수 있다. 🔹 …


Mockito

March 08, 2025

✅ Java에서 가장 널리 사용되는 Mocking 프레임워크 ✅ 객체의 동작을 사전에 정의하여 단위 테스트를 쉽게 수행할 수 있도록 지원 ✅ 실제 객체를 사용하지 않고 Mock 객체를 생성하여 독립적인 테스트를 가능하게 함 📌 사용 방법 JUnit과 함께 사용 ✅ Mockito와 JUnit 모두 테스트 프레임워크이기 때문에 같이 사용하기 위해선 설정이 필…


Slice Test

March 09, 2025

✅ Slice Test는 Spring에서 특정 레이어(Controller, Repository 등)만 테스트하는 방식 ✅ 애플리케이션 전체를 로드하는 것이 아니라, 필요한 빈(Bean)만 로드하여 테스트 속도를 향상 ✅ 각 레이어별로 독립적인 단위 테스트를 수행할 수 있도록 도움 📌 필요성 vs Unit Test Unit Test는 특정 클래스만 테스…


Acceptance Test

March 14, 2025

✅ 사용자 스토리(시나리오)에 맞춰 수행하는 테스트 ✅ 개발자와 이해관계자들 간의 토의를 통해 만들어진 시나리오에 기반해 테스트 ✅ 실제 HTTP 요청을 보내고 응답을 확인하는 최상위 레벨의 테스트 📌 특징 사용자 관점에서 동작 검증 단순한 코드 실행이 아니라, 실제 사용자의 시나리오를 검증함. 예: "사용자가 회원 가입을 하면, 로그인할 수 있어야 …