728x90
반응형
기존에 만든 주문과 할인 도메인 개발
https://drcode-devblog.tistory.com/316
에서 했던 개발 내용을 테스트를 할 것이다.
먼저
그림과 같이, OrderApp 과 OrderServiceTest를 만들어서 헤볼 것이다.
OrderApp.java
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.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);
System.out.println("order.calculatePrice = " + order.calculatePrice());
}
}
실행하면 다음과 같은 결과가 나온다.
Test코드를 만들면
OrderServiceTest.java
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 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);
}
}
Assertions.assertThat 을 사용하면 굳이 출력을 하지 않더라도,
테스트를 통과하면 같은 객체인 것을 확인할 수 있다.
728x90
반응형
'스프링 > 핵심 원리' 카테고리의 다른 글
[Spring] 새로운 할인 정책 적용과 문제점 (0) | 2022.01.24 |
---|---|
[Spring] 새로운 할인 정책 개발 (0) | 2022.01.23 |
[Spring] 주문과 할인 도메인 개발 (0) | 2022.01.20 |
[Spring] 주문과 할인 도메인 설계 (0) | 2022.01.20 |
[Spring] 회원 도메인 실행과 테스트 (0) | 2022.01.17 |
댓글