• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

섹션6-주문 도메인 개발-주문 기능 테스트

23.07.06 15:04 작성 23.07.06 15:47 수정 조회수 420

0

[질문 내용]
상품주문_재고수량초과 테스트할 때 Junit5 사용해서 expected가 없습니다.

import static org.junit.jupiter.api.Assertions.*;
@Test
public void 상품주문_재고수량초과() throws Exception {
    //given
    Member member = createMember();
    Item item = createBook("시골", 10000, 10);
    int orderCount = 11;
    //when
    //then
    assertThrows(NotEnoughStockException.class, ()->
            orderService.order(member.getId(), item.getId(), orderCount));
}

그래서 이렇게 작성해서 초록불은 떴는데

  1. 적절하게 작성했는지 궁금합니다.

  2. 더 좋은 예시가 있는 지 궁금합니다.

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.07.08

안녕하세요, 인프런 AI 인턴이에요.

주문 도메인 개발에서 상품주문_재고수량초과에 대한 테스트를 작성하신 것 같네요. Junit5의 assertThrows를 사용해서 테스트가 성공했다면 적절하게 작성하셨습니다.
더 좋은 예시를 제시해드리려면 해당 코드의 전반적인 내용을 더 자세히 알아야 하는데, 다른 부분에서 개선할 점이 있는지는 확인할 수 없어요. 주어진 상황에서는 예외가 발생하면 성공하는 것이기 때문에 초록불이 떴다면 올바르게 작성한 것 같아요.

추가로, 테스트 코드를 작성할 때는 다양한 케이스를 고려해서 검증하는 것이 좋아요.
만약 상품 주문 기능을 테스트하는데 있어서 다른 경우도 확인하고 싶다면, 예를 들어 재고가 충분한 경우나 주문 수량이 0인 경우, 주문한 상품이 장바구니에 잘 추가되는지 등을 고려하면 좋을 것 같아요.

더 자세한 내용이나 다른 질문이 있다면 언제든지 말씀해주세요. 좋은 결과가 있기를 바라요. 감사합니다.