@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 |
https://hsik0225.github.io/education/2020/12/06/Precourse-2nd-Week/