@Nested
class DeleteTest {
@Test
@DisplayName("주문에 대한 삭제시 성공의 경우 exception 이 발생하지 않아야함")
void When_Delete_Expect_MethodReturnTrue() {
// given as @Mock
when(orderMapper.deleteSoftly(1L)).thenReturn(true);
// when - then
// exception 이 발생하지 않아야함
Assertions
.assertThatThrownBy(() -> orderPersistence.deleteOrder(1L))
.doesNotThrowAnyException();
}
}
public void deleteOrder(long id) {
boolean result = orderMapper.deleteSoftly(id);
if (!result) {
throw new RuntimeException("주문 삭제에 실패하였습니다.");
}
}
- 에서 보면 분명히 mapper 에서 true 를 반환하면
- 어떠한 에러도 던지지 않아야한다.
- 그런데
java.lang.AssertionError:
Expecting code to raise a throwable.
at com.psj.itembrowser.order.persistence.OrderPersistenceTest$DeleteTest.When_Delete_Expect_MethodReturnTrue(OrderPersistenceTest.java:46)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
...
- 왜 throwable 를 기대하는거지?
- 해결한 게시물
Uploaded by N2T
'자바 > 리팩토링' 카테고리의 다른 글
[리팩토링 일기] 삭제 기능을 TDD 진행시 다른 기능이 선행으로 필요한 경우 (0) | 2023.11.10 |
---|---|
[리팩토링 일기] Mybatis param NPE 발생이 안돼! (0) | 2023.11.10 |
[리팩토링 일기] mybatis는 생산성면에서 너무 구리다. (0) | 2023.11.10 |
[리팩토링] 마이바티스에서의 매퍼 테스트 고찰 (0) | 2023.11.10 |
[TDD] 방법론에 대한 순서 (0) | 2023.11.06 |