단위 테스트란?
- 작은 코드 단위를 독립적으로 검증하는 테스트
- 작은 코드 단위란? 클래스, 메서드
- 검증 속도가 빠르고, 안정적이다.
- JUnit 5 라이브러리를 통해 검증
JUnit 5
- 단위 테스트를 위한 테스트 프레임워크
- XUnit - Kent Beck -> (Sunit[Samlltalk], JUnit[Java], NUnit[.NET]), ...
- https://junit.org/junit5/docs/current/user-guide/
AssertJ
- 테스트 코드 작성을 원활하게 돕는 테스트 라이브러리
- 풍부한 API, 메서드 체이닝 지원
- https://assertj.github.io/doc/#assertj-overview
이전에 했던 게시물
에서 수동으로 테스트했었고, 자동 테스트로 변경하는 것을 해볼 것이다.
반영 코드(AssertJ 활용)
@Test
void add() {
CafeKiosk cafeKiosk = new CafeKiosk();
cafeKiosk.add(new Americano());
assertThat(cafeKiosk.getBeverages()).hasSize(1);
assertThat(cafeKiosk.getBeverages().get(0).getName()).isEqualTo("아메리카노");
}
@Test
void remove() {
CafeKiosk cafeKiosk = new CafeKiosk();
Americano americano = new Americano();
cafeKiosk.add(americano);
assertThat(cafeKiosk.getBeverages()).hasSize(1);
cafeKiosk.remove(americano);
assertThat(cafeKiosk.getBeverages()).isEmpty();
}
@Test
void clear() {
CafeKiosk cafeKiosk = new CafeKiosk();
Americano americano = new Americano();
Latte latte = new Latte();
cafeKiosk.add(americano);
cafeKiosk.add(latte);
assertThat(cafeKiosk.getBeverages()).hasSize(2);
cafeKiosk.clear();
assertThat(cafeKiosk.getBeverages()).isEmpty();
}
비교 체감
- 더 이상 콘솔 로그를 보지 않아도 된다.! 자동으로 해준다~
- 성공하면 초록색, 실패하면 빨간색
'Spring관련 기술 > 테스트코드' 카테고리의 다른 글
Test Driven Development (0) | 2023.12.11 |
---|---|
테스트하기 어려운 영역을 분리하기 (0) | 2023.12.10 |
테스트 케이스 세분화하기 (0) | 2023.12.10 |
CafeKiosk 요구사항 및 수동 테스트 (0) | 2023.12.10 |
테스트가 필요한 이유? (0) | 2023.12.10 |