인프런 커뮤니티 질문&답변

공룡님의 프로필 이미지
공룡

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

주문 기능 테스트

Junit5 이용했을 시 재고수량초과 테스트코드 작성방법입니다

해결된 질문

작성

·

637

18

@Test
public void 상품주문_재고수량초과() throws Exception{
//given
Member member = createMember();
Item item = createBook("시골 JPA", 10000, 10);

int orderCount = 11;

//when

//then
NotEnoughStockException ex = assertThrows(NotEnoughStockException.class, () -> {
orderService.order(member.getId(), item.getId(), orderCount);
});
assertEquals(ex.getMessage(), "need more Stock");
}

답변 3

6

junit5로 테스트 코드 작성시 assertThrows에 message를 주는 방법을 사용해도 좋을듯 합니다

코드

@Test
@DisplayName("상품주문_재고수량초과")
void 상품주문_재고수량초과() throws Exception {
//given
Ex04Member member =createMember();
final Ex04Book item = createBook("시골 JPA", 10000, 10);

// int orderCount = 11;
int orderCount = 10;

//when


//then
final NotEnoughStockException notEnoughStockException = assertThrows(NotEnoughStockException.class,
() -> orderService.order(member.getId(), item.getId(), orderCount),
"재고수량이 부족 하면 예외가 발생 한다."
);
// System.out.println(notEnoughStockException.getMessage());//need more stock
// assertEquals(notEnoughStockException.getMessage(), "need more Stock");
}

출력

감사합니다.

5

junit 5  assertEquals 의 message parameter가 마지막에 해야 에러가 안나네요, 공유합니다.

0

김영한님의 프로필 이미지
김영한
지식공유자

Faust님 고맙습니다^^ 다른 분들께 도움이 되겠네요 ㅎㅎ

공룡님의 프로필 이미지
공룡

작성한 질문수

질문하기