@Update("UPDATE ORDERS SET DELETED_DATE = NOW() WHERE id = #{id,jdbcType=BIGINT}") public boolean deleteSoftly(@Param("id") Long id);에서 Long 에 NULL 을 방지하려고 어떻게든 시도해봤다@NonNull 도 안돼고.. 등등..찾아보니[MyBatis] null 파라미터 , 그리고 jdbc-type-for-null 세팅null 처리와 jdbc-type-for-null 에 관한 글https://velog.io/@dailylifecoding/mybatis-null-parameter-and-jdbc-type-for-null-configuration자체적으로 PreparedStatement 에서 NULL이 ..
@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 ..
TDD에 입각하여프로젝트 진행중이다 TDD 하는 중에 빠른 테스트 코드의 통과를 위하여 별도 @Test @DisplayName("주문에 대한 삭제일 업데이트시 삭제일이 업데이트 되는지 테스트") void When_DeleteSoftly_Expect_DeletedDateUpdated() { // given as @Sql // when orderMapper.deleteSoftly(1L); Order deletedOrder = orderMapper .selectOrderNotDeleted(1L); // then assertThat(deletedOrder .getDeletedDate()).isNotNull(); } }selectOrder 메서드 말고 selectOrderNotDeleted 라는 메서드를 빠르게 ..
@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 /..