[리팩토링] 마이바티스에서의 매퍼 테스트 고찰

@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();
        }
  • 위에 달린 @Sql 이 보이는가?
  • 마이바티스의 경우에는 쿼리를 내가 작성하기에 별도로 매퍼까지 테스트해줘야함을 어느정도는 감수해야한다고 생각한다만
  • 테이블의 연관에 따른 모든 데이터를 sql 로 주입할 수 밖에 없다는 현실이 좀 거시기 한 것 같다..
  • 일단 코드가 너무 더럽다.

Uploaded by N2T