Spring

Spring Boot - 주문기능 testCode

팅탱팅탱 2024. 3. 12. 18:36

우선 테스트 코드 작성시에 멤버에 대한 정보를 세팅해주고 book 아이템 객체를 생성하여서 이름, 가격, 재고를 설정해주었다.

그 후 order메서드를 사용하여서 주문을 걸어주었고 추출된 order id로 findOne 메서드를 사용하여서 주문객체를 받아와주었다.

 

 

테스트 목록: 주문시 상태, 주문시 상품의 종류 수, 주문한 상품의 총 가격, 주문 수량만큼 전체 재고에서 빠지는지

 

돌려본 결과 이상 없이 잘 돌아갔다.

 

다음으로는

예외 테스트로 상품 주문 수량이 총 재고보다 많을시에 상황을 테스트 할것이다.

나는 Junit5로 테스트 코드를 작성중이라 Junit4에 있는 test어노테이션에 쓸수있는 expected옵션이 없어서 

대신 assertThrows를 사용하여 람다 형식으로 예외 발생을 검증해주었다.

 

다음은 주문 취소 테스트 케이스를 구현해볼 것이다.

주문 취소 테스트 케이스는 주문 생성 후 주문 취소를 시키고 주문 취소가 된 상태가 CANCLE이 됐는지 검증

추가적으로 재고가 원복되었는지 검증해주었다.