Backend
home
🚗

5. 수동테스트 vs 자동화된 테스트

생성일
2025/01/24 05:52
태그

요구사항

주문 목록에 음료 추가/삭제 기능
주문 목록 전체 지우기
주문 목록 총 금액 계산하기
주문 생성하기

코드 작성

Beverage
package sample.cafekiosk.unit.beverage; public interface Beverage { String getName(); int getPrice(); }
Java
복사
Americano
package sample.cafekiosk.unit.beverage; public class Americano implements Beverage { @Override public String getName() { return "아메리카노"; } @Override public int getPrice() { return 4000; } }
Java
복사
Latte
package sample.cafekiosk.unit.beverage; public class Latte implements Beverage { @Override public String getName() { return "라떼"; } @Override public int getPrice() { return 4500; } }
Java
복사
Order
package sample.cafekiosk.unit.order; import lombok.Getter; import lombok.RequiredArgsConstructor; import sample.cafekiosk.unit.beverage.Beverage; import java.time.LocalDateTime; import java.util.List; @Getter @RequiredArgsConstructor public class Order { private final LocalDateTime orderDateTime; private final List<Beverage> beverages; }
Java
복사
CafeKiosk
package sample.cafekiosk.unit; import lombok.Getter; import sample.cafekiosk.unit.beverage.Beverage; import sample.cafekiosk.unit.order.Order; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; @Getter public class CafeKiosk { private List<Beverage> beverages = new ArrayList<>(); public void add(Beverage beverage) { beverages.add(beverage); } public void remove(Beverage beverage) { beverages.remove(beverage); } public void clear() { beverages.clear(); } public int calculateTotalPrice() { int totalPrice = 0; for (Beverage beverage : beverages) { totalPrice += beverage.getPrice(); } return totalPrice; } public Order createOrder() { return new Order(LocalDateTime.now(), beverages); } }
Java
복사
CafeKioskRunner
package sample.cafekiosk.unit; import sample.cafekiosk.unit.beverage.Americano; import sample.cafekiosk.unit.beverage.Latte; public class CafeKioskRunner { public static void main(String[] args) { CafeKiosk cafeKiosk = new CafeKiosk(); cafeKiosk.add(new Americano()); System.out.println(">>> 아메리카노 추가"); cafeKiosk.add(new Latte()); System.out.println(">>> 라떼 추가"); int totalPrice = cafeKiosk.calculateTotalPrice(); System.out.println("총 주문가격 : " + totalPrice); } }
Java
복사
CafeKioskTest
package sample.cafekiosk.unit; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import sample.cafekiosk.unit.beverage.Americano; import static org.junit.jupiter.api.Assertions.*; class CafeKioskTest { @DisplayName("카페 키오스크 테스트") @Test public void add() { CafeKiosk cafeKiosk = new CafeKiosk(); cafeKiosk.add(new Americano()); System.out.println(">>> 담긴 음료 수 : " + cafeKiosk.getBeverages().size()); System.out.println(">>> 담긴 음료 : " + cafeKiosk.getBeverages().get(0).getName()); } }
Java
복사