Spring/스프링 핵심 원리 - 기본편
12. 주문과 할인 도메인 실행과 테스트
DEV-HJ
2023. 3. 12. 18:42
반응형
주문과 할인 정책 실행
- 할인 금액이 잘 출력되는 것을 확인할 수 있다.
- 애플리케이션 로직으로 이렇게 테스트 하는 것은 좋은 방법이 아니다. JUnit 테스트를 사용하자
package hello.core;
import hello.core.member.Grade;
import hello.core.member.Member;
import hello.core.member.MemberService;
import hello.core.member.MemberServiceImpl;
import hello.core.order.OrderService;
import hello.core.order.OrderServiceImpl;
import hello.core.order.order;
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);
System.out.println("order.calculatePrice = "+order.calculatePrice());
}
}
주문과 할인 정책 테스트
package hello.core.order;
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 OrderSeriveTest {
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);
}
}
반응형