주문과 할인 정책 실행
import hello.core.member.Grade;
import hello.core.member.Member;
import hello.core.member.MemberService;
import hello.core.member.MemberServiceImpl;
import hello.core.order.Order;
import hello.core.order.OrderService;
import hello.core.order.OrderServiceImpl;
public class OrderApp {
public static void main(String[] args) {
MemberService memberService = new MemberServiceImpl();
OrderService orderService = new OrderServiceImpl();
Long memberId = 1L;
Member member = new Member(memberId, "memberA", Grade.VIP);
memberService.join(member);
Order order = orderService.createOrder(memberId, "itemA", 10000);
System.out.println("order = " + order);
}
}
(OrderApp.java)
결과
order = Order{memberId=1, itemName='itemA', itemPrice=10000, discountPrice=1000}
- 애플리케이션 로직으로 이렇게 테스트 하는 것은 좋은 방법이 아닙니다. JUnit 테스트를 사용해야 합니다.
주문과 할인 정책 테스트
import hello.core.member.Grade;
import hello.core.member.Member;
import hello.core.member.MemberService;
import hello.core.member.MemberServiceImpl;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
public class OrderServiceTest {
MemberService memberService = new MemberServiceImpl();
OrderService orderService = new OrderServiceImpl();
@Test
void createOrder() {
Long memberId = 1L;
Member member = new Member(memberId, "memberA", Grade.VIP);
memberService.join(member);
Order order = orderService.createOrder(memberId, "itemA", 10000);
Assertions.assertThat(order.getDiscountPrice()).isEqualTo(1000);
}
}
(OrderServiceTest.java)
참조
'Spring' 카테고리의 다른 글
[스프링 핵심 원리 - 기본편] 새로운 할인 정책 적용과 문제점 (0) | 2021.09.09 |
---|---|
[스프링 핵심 원리 - 기본편] 새로운 할인 정책 개발 (0) | 2021.09.08 |
[스프링 핵심 원리 - 기본편] 주문과 할인 도메인 개발 (0) | 2021.09.08 |
[스프링 핵심 원리 - 기본편] 주문과 할인 도메인 설계 (0) | 2021.09.08 |
[스프링 핵심 원리 - 기본편] 회원 도메인 실행과 테스트 (0) | 2021.09.08 |
댓글