🧩JUnit을 이용한 단위 테스트
TDD
: 테스트 주도 개발
최초 목표에 맞춘 테스트 코드를 작성 후 개발
- 테스트 코드의 작성 목적
- 코드의 안정성 ⬆
- 기능 추가, 변경시 발생되는 side-effect ⬇
- 목적을 분명히 함으로써 불필요한 코드 작성 ⬇
JUnit
- JUnit?
- Java Test Framework
- 단위 테스트를 위한 도구 제공
- 어노테이션 기반
- Assertion으로 테스트를 통과하면 어떤 결과가 나오는지 알 수 있음
- JUnit 모듈
- Jupiter
- JUnit5 구현
- 테스트의 실제 구현체는 별도 모듈 역할을 수행
- 개발자가 테스트 코드를 작성할 때 사용
- Platform
- 테스트를 실행하기 위한 뼈대
- 테스트를 발견하고 계획을 생성하는 TestEngine 인터페이스 보유
- 수행결과 보고
- IDE 연동 보조, 콘솔 출력
- Vintage
- JUnit3,4 구현하여 이전 버전의 테스트 코드 실행시 사용
- JUnit LifeCycle Annotation
Annotation | Description |
---|
@Test | 테스트용 메소드임을 표현 |
@BeforeEach | 각 테스트 메소드가 시작되기 전에 실행되는 메소드 |
@AfterEach | 각 테스트 메소드가 시작된 후 실행되는 메소드 |
@BeforeAll | 전체 테스트 시작 전에 실행되는 메소드(static) |
@AfterAll | 전체 테스트 종료 후에 실행 되는 메소드(static) |
- JUnit Main Annotation