티스토리 뷰
단위 테스트란 무엇인가?
- 단위 테스트는 코드의 가장 작은 기능적 단위를 테스트하는 프로세스
특징
- 코드 품질 보장을 위해 소프트웨어 개발의 필수 요소
- 소프트웨어를 작은 기능적 단위로 작성한 다음 코드 단위별 단위 테스트를 작성하는 것이 소프트웨어 개발 모범 사례
단계
- 단위 테스트 코드(함수, 클래스 OR 메서드)를 선택
- 접근 방식 선택: 수동 테스트 OR 프레임워크를 이용한 자동화된 단위 테스트
- 테스트 환경 구축: test data, dependancy, mock objects 등 test를 실행하기위한 환경을 구축
- IDE(Integrated Development Environment) 를 활용하는 것이 필수
- 테스트 케이스 사용 및 생성
- 테스터는 테스팅 프레임워크와 테스트 케이스를 선택 및 실행한다면, 그 결과를 확인(버그가 있는지)
- 디버그 그리고 이슈 해결
- 테스트가 실패했다면, 버그의 근본 원인을 파악하고 코드를 디버깅한다.
- 그리고 고친다.
- 테스터는 버그가 조치될 때까지 unit tests 를 실행해야한다.
Unit testing tools
특정 목적에 따라 필요한 도구를 가져다 쓰면 된다.
JUnit
- Java components 를 테스트하기 위한 자바 프레임워크이다.
- 유닛 테스트 도구로 알려져 있지만, integration testing and functional testing 으로도 쓰인다.
- 자바 친화적 언어의 코드를 테스트하는데 가장 기본적으로 쓰이는 툴이다.
KoTest
- 코틀린 친화적
Spock
- Groovy 언어. 유연성과 대용량 테스트 기능 좋음
Test case 작성 패턴(given when then pattern)

- 정의: 우리가 어떤 기능(시스템 행위)를 사람이 이해하는 방식처럼 자연스럽고, 읽기 편하게 묘사한 템플릿
- 사람들이 상상한 문제를 좀 더 human way 답게 정의
- 메인 스탭
- Given: 시스템에 데이터 입력 > 테스트 케이스에 파라미터로서 데이터 입력
- When: 기대하는 행위 정의 > 테스트 케이스의 기대 행위
- Then: 행위가 기대하는 대로 되었는지 검증 > 테스트 케이스의 결과가 기대하는 행위의 결과와 맞는지 검증
- 예시
출처
https://www.ibm.com/think/topics/unit-testing
What is Unit Testing? | IBM
Unit testing is a test-driven development (TDD) method for evaluating software that pays special attention to an individual component or unit of code.
www.ibm.com
Jest
By ensuring your tests have unique global state, Jest can reliably run tests in parallel. To make things quick, Jest runs previously failed tests first and re-organizes runs based on how long test files take.
jestjs.io
https://www.j-labs.pl/en/tech-blog/given-when-then-pattern-in-unit-tests/
Given-When-Then pattern in unit tests | j‑labs
Learn the Given-When-Then pattern for unit tests with examples. Improve your testing process and create better acceptance criteria. Read more now!
www.j-labs.pl
'Backend' 카테고리의 다른 글
| Observer Pattern (0) | 2026.08.03 |
|---|---|
| Singleton Pattern (0) | 2026.08.03 |
| Builder Pattern (0) | 2026.08.01 |
| FactoryMethod Pattern (0) | 2026.07.30 |
| java와 코틀린 차이 (0) | 2026.06.25 |
