반응형
JUnit4
Junit4에서 exception 테스트는 @Test(expected=기대하는예외)를 통해 가능하다.
(JUnit5와 비교하기 위한 예시코드이므로 정확하진 않을 수 있음)
@Test(expected = NotEnoughStockException::class)
fun 상품주문_재고수량초과() {
val member = createMember("사용자")
val book = createBook("도서명", 10000, 10, "저자명", "12345")
val orderCount = 11
orderService.order(member.id!!, book.id!!, orderCount)
fail("예외가 발생해야 한다.");
}
JUnit5
@Test에 expected를 쓸 수 없게 되어있어 다른 방법으로 exception을 테스트 해야한다.
@Test
fun 상품주문_재고수량초과() {
val member = createMember("사용자")
val book = createBook("도서명", 10000, 10, "저자명", "12345")
val orderCount = 11
assertThrows(NotEnoughStockException::class.java) { orderService.order(member.id!!, book.id!!, orderCount) }
}
@Test(expected=) 대신 assertThrow를 사용해 기대하는 exception을 적어주고, 중괄호 안에 exception이 발생하는 코드를 적어주면 된다.
전체코드
반응형