개발자's Life

[JAVA] Java 기본인 Test 코드 작성(Feat.AssertJ )_김영한님 스프링 핵심 원리 - 기본편 본문

Back-end/Java

[JAVA] Java 기본인 Test 코드 작성(Feat.AssertJ )_김영한님 스프링 핵심 원리 - 기본편

Rowen Jobs 2023. 5. 28. 20:28
728x90
반응형

안녕하세요 아주 간단한 테스트 코드 주석을 달면서 간단하게 정리하겠습니다. 

 

<memo>

package hello.core.order;

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();
	
    // 주문이 들어오면 VIP, 일반 회원에 따라 할인정책 체크하는 로직의 테스트 코드입니다.
    @DisplayName("회원 할인 정책 정상작동")
    @Test
    void createOrder(){
    	// 멤버아이디 셋팅
        Long memberId = 1L;
        // 메모리에 저장할 멤버 셋팅 Member(멤버아이디, 멤버이름, 멤버등급)
        Member member = new Member(memberId, "MemberA", "VIP");
        // 멤버 저장
        memberService.join(member);
		
        // 현 시점의 테스트가 필요
        // 주문 정보를 미리 작성한 OrderService 클래스의 CreateOrder 메소드를 호출한 결과를
        // Order 타입에 삽입합니다.
        Order order = orderService.CreateOrder(memberId, "itemA", 10000);
        // AssertJ 인 Assertions 를 사용하여 테스트 진행합니다.
        Assertions.assertThat(order.getDiscountPrice()).isEqualTo(1000);
        // Assertions.assertThat("결과 값을 넣어주세요").isEqualTo("나와야 하는 결과값을 넣어주세요");

    }
}

AssertJ 를 사용하고 해당 코드를 Run 하였을때 정상적으로 결과값이 맞는지 체크하여 준다.

요즘 테스트 코드는 필수인 시대라 개인적인 공부는 필수인듯하다.

 

클래스 옆 ▶️ 버튼을 클릭하여 Run 해준다. 

정상적으로 작동된걸 확인할 수 있다.

 

</memo>

 

궁금하신 점이나 틀린부분 있으면 꼭!!! 댓글 남겨주세요 

 

감사합니다.

 

Rowen-

728x90
Comments