[리팩토링 일기] 삭제 기능을 TDD 진행시 다른 기능이 선행으로 필요한 경우

@Nested
    @Sql(scripts = {"classpath:sql/member/insert_member.sql", "classpath:sql/shippinginfo/insert_shipping_info.sql",
        "classpath:sql/product/insert_product.sql", "classpath:sql/order/insert_order_product.sql",
        "classpath:sql/order/insert_order.sql"})
    class DeleteTest {
        @Test
        @DisplayName("주문에 대한 삭제일 업데이트시 true 를 반환하는지 테스트")
        void When_DeleteSoftly_Expect_MethodReturnTrue() {
            // given as @Sql
            
            // when
            boolean result = orderMapper.deleteSoftly(1L);
            
            // then
            Assertions.assertThat(result)
                      .isTrue();
        }
  • 이런식의 테스트 케이스면 상관없다
  • 하지만
  • 만약 삭제일이 업데이트가 되었는지 확인하려면?
    • 별도 find메서드가 필요하다
    • TDD 에서 삭제테스트를 RED - GREEN - REFACTOR 순으로 수행시
      • 뭔가 순서가 흐트러지는 문제가 있다..
  • 갑자기 조회를 구현하러 가야하는건가?
  • 헷갈린다.

Uploaded by N2T