<aside> 1️⃣ 단위테스트란?
</aside>
<aside> 2️⃣ JUnit5
</aside>
<aside> 3️⃣ AssertJ
</aside>
<aside> 4️⃣
테스트 케이스 세분화
</aside>
@Test
void addSeveralBeverages() {
CafeKiosk cafeKiosk = new CafeKiosk();
Americano americano = new Americano();
// 해피테스트
cafeKiosk.add(americano, 2);
assertThat(cafeKiosk.getBeverages().get(0)).isEqualTo(americano);
assertThat(cafeKiosk.getBeverages().get(1)).isEqualTo(americano);
}
@Test
void addZeroBeverages() {
CafeKiosk cafeKiosk = new CafeKiosk();
Americano americano = new Americano();
// 예외테스트
assertThatThrownBy(() -> cafeKiosk.add(americano, 0))
.isInstanceOf(IllegalArgumentException.class)
.hasMessage("음료는 1잔 이상 주문하실 수 있습니다.");
}
<aside> 5️⃣ 테스트하기 어려운 영역을 구분하고 분리하기
</aside>