Skip to content

Commit

Permalink
refactor: truncate를 사용해 테스트 격리 적용
Browse files Browse the repository at this point in the history
  • Loading branch information
jjongwa committed Jun 8, 2023
1 parent 07c3532 commit 7e1f7f5
Show file tree
Hide file tree
Showing 29 changed files with 113 additions and 301 deletions.
3 changes: 1 addition & 2 deletions src/test/java/cart/JwpCartApplicationTests.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@
import org.springframework.test.context.jdbc.Sql.ExecutionPhase;

@SpringBootTest
@Sql(value = "classpath:reset.sql", executionPhase = ExecutionPhase.BEFORE_TEST_METHOD)
@Sql(value = "classpath:test-data.sql", executionPhase = ExecutionPhase.BEFORE_TEST_METHOD)
@Sql(value = "classpath:truncate.sql", executionPhase = ExecutionPhase.AFTER_TEST_METHOD)
class JwpCartApplicationTests {

@Test
Expand Down
Original file line number Diff line number Diff line change
@@ -1,28 +1,27 @@
package cart.application.service.cartitem;

import static cart.fixture.MemberFixture.레오_ID포함;
import static cart.fixture.ProductFixture.꼬리요리;
import static cart.fixture.ProductFixture.통구이;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.given;

import cart.application.repository.CartItemRepository;
import cart.application.repository.MemberRepository;
import cart.application.service.cartitem.dto.CartResultDto;
import cart.auth.MemberAuth;
import cart.domain.cartitem.CartItem;
import cart.domain.cartitem.CartItems;
import cart.auth.MemberAuth;
import java.util.List;
import java.util.Optional;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;

import java.util.List;
import java.util.Optional;

import static cart.fixture.MemberFixture.레오_ID포함;
import static cart.fixture.ProductFixture.꼬리요리;
import static cart.fixture.ProductFixture.통구이;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.given;

@ExtendWith(MockitoExtension.class)
@SuppressWarnings("NonAsciiCharacters")
class CartItemReadServiceTest {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@
import cart.application.repository.ProductRepository;
import cart.application.service.cartitem.dto.CartItemCreateDto;
import cart.application.service.cartitem.dto.CartItemUpdateDto;
import cart.auth.MemberAuth;
import cart.domain.cartitem.CartItem;
import cart.domain.member.Member;
import cart.domain.product.Product;
import cart.domain.cartitem.CartItem;
import cart.auth.MemberAuth;
import java.util.NoSuchElementException;
import java.util.Optional;
import org.junit.jupiter.api.DisplayName;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,5 @@
package cart.application.service.member;

import cart.application.repository.MemberRepository;
import cart.application.service.member.MemberReadService;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;

import java.util.List;
import java.util.NoSuchElementException;
import java.util.Optional;

import static cart.fixture.MemberFixture.디노;
import static cart.fixture.MemberFixture.비버;
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
Expand All @@ -21,6 +8,17 @@
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.given;

import cart.application.repository.MemberRepository;
import java.util.List;
import java.util.NoSuchElementException;
import java.util.Optional;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;

@ExtendWith(MockitoExtension.class)
@SuppressWarnings("NonAsciiCharacters")
class MemberReadServiceTest {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
package cart.application.service.member;

import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.given;

import cart.application.repository.MemberRepository;
import cart.application.service.member.MemberWriteService;
import cart.ui.member.dto.MemberRequest;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
Expand All @@ -10,10 +13,6 @@
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;

import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.given;


@ExtendWith(MockitoExtension.class)
class MemberWriteServiceTest {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@

import cart.application.repository.order.OrderRepository;
import cart.application.service.order.dto.OrderDto;
import cart.domain.member.Member;
import cart.domain.point.Point;
import cart.domain.point.PointHistory;
import cart.auth.MemberAuth;
import cart.domain.coupon.Coupon;
import cart.domain.member.Member;
import cart.domain.order.Order;
import cart.domain.order.OrderItem;
import cart.auth.MemberAuth;
import cart.domain.point.Point;
import cart.domain.point.PointHistory;
import java.util.List;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@
import cart.application.repository.PointRepository;
import cart.application.repository.order.OrderRepository;
import cart.application.repository.order.OrderedItemRepository;
import cart.domain.member.Member;
import cart.domain.product.Product;
import cart.auth.MemberAuth;
import cart.domain.cartitem.CartItem;
import cart.domain.coupon.Coupon;
import cart.domain.discountpolicy.PointPolicy;
import cart.domain.member.Member;
import cart.domain.order.Order;
import cart.auth.MemberAuth;
import cart.domain.product.Product;
import cart.ui.order.dto.CreateOrderDiscountDto;
import cart.ui.order.dto.CreateOrderDto;
import cart.ui.order.dto.CreateOrderItemDto;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
package cart.application.service.point;

import static org.assertj.core.api.SoftAssertions.assertSoftly;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.given;

import cart.application.repository.PointRepository;
import cart.application.service.point.dto.PointResultDto;
import cart.auth.MemberAuth;
import cart.domain.point.Point;
import cart.domain.point.PointHistory;
import cart.auth.MemberAuth;
import java.util.List;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,25 +1,23 @@
package cart.application.service.product;

import static cart.fixture.ProductFixture.꼬리요리;
import static cart.fixture.ProductFixture.통구이;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
import static org.mockito.BDDMockito.any;
import static org.mockito.BDDMockito.given;

import cart.application.repository.ProductRepository;
import cart.application.service.product.ProductReadService;
import java.util.List;
import java.util.NoSuchElementException;
import java.util.Optional;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;

import java.util.List;
import java.util.NoSuchElementException;
import java.util.Optional;

import static cart.fixture.ProductFixture.통구이;
import static cart.fixture.ProductFixture.꼬리요리;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
import static org.mockito.BDDMockito.any;
import static org.mockito.BDDMockito.given;

@ExtendWith(MockitoExtension.class)
@SuppressWarnings("NonAsciiCharacters")
class ProductReadServiceTest {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
package cart.application.service.product;

import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.given;

import cart.application.repository.ProductRepository;
import cart.application.service.product.ProductWriteService;
import cart.application.service.product.dto.ProductCreateDto;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
Expand All @@ -10,10 +13,6 @@
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;

import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.given;

@ExtendWith(MockitoExtension.class)
class ProductWriteServiceTest {

Expand Down
2 changes: 1 addition & 1 deletion src/test/java/cart/integration/IntegrationTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@Sql(value = "classpath:reset.sql", executionPhase = ExecutionPhase.BEFORE_TEST_METHOD)
@Sql(value = "classpath:truncate.sql", executionPhase = ExecutionPhase.AFTER_TEST_METHOD)
public class IntegrationTest {
@LocalServerPort
private int port;
Expand Down
10 changes: 6 additions & 4 deletions src/test/java/cart/integration/ProductIntegrationTest.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package cart.integration;

import static io.restassured.RestAssured.given;
import static org.assertj.core.api.Assertions.assertThat;

import cart.ui.product.dto.ProductRequest;
import cart.ui.product.dto.ProductResponse;
import org.junit.jupiter.api.Test;
Expand All @@ -8,10 +11,8 @@
import org.springframework.test.context.jdbc.Sql;
import org.springframework.test.context.jdbc.Sql.ExecutionPhase;

import static io.restassured.RestAssured.given;
import static org.assertj.core.api.Assertions.assertThat;

@Sql(value = "classpath:reset.sql", executionPhase = ExecutionPhase.BEFORE_TEST_METHOD)
@Sql(value = "classpath:truncate.sql", executionPhase = ExecutionPhase.BEFORE_TEST_METHOD)
@Sql(value = "classpath:truncate.sql", executionPhase = ExecutionPhase.AFTER_TEST_METHOD)
@Sql(value = "classpath:test-data.sql", executionPhase = ExecutionPhase.BEFORE_TEST_METHOD)
public class ProductIntegrationTest extends IntegrationTest {

Expand Down Expand Up @@ -71,4 +72,5 @@ public void getCreatedProduct() {
assertThat(responseProduct.getName()).isEqualTo("피자");
assertThat(responseProduct.getPrice()).isEqualTo(15_000);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,14 @@
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.boot.test.autoconfigure.jdbc.JdbcTest;
import org.springframework.jdbc.core.JdbcTemplate;

import java.util.List;
import java.util.Optional;
import org.springframework.test.context.jdbc.Sql;
import org.springframework.test.context.jdbc.Sql.ExecutionPhase;

import static cart.fixture.CartItemFixture.레오_레오배변패드;
import static cart.fixture.MemberFixture.레오;
Expand All @@ -27,6 +30,8 @@
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;

@JdbcTest
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@Sql(value = "classpath:truncate.sql", executionPhase = ExecutionPhase.AFTER_TEST_METHOD)
@SuppressWarnings("NonAsciiCharacters")
class CartItemJdbcRepositoryTest {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,11 @@

import cart.domain.coupon.Coupon;
import cart.domain.discountpolicy.CouponPolicy;
import cart.domain.order.Order;
import cart.domain.order.OrderItem;
import cart.fixture.MemberFixture;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.boot.test.autoconfigure.jdbc.JdbcTest;
import org.springframework.jdbc.core.JdbcTemplate;

Expand All @@ -20,7 +18,8 @@
import static org.assertj.core.api.Assertions.assertThat;

@JdbcTest
@Sql(value = "classpath:reset.sql", executionPhase = ExecutionPhase.BEFORE_TEST_METHOD)
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@Sql(value = "classpath:truncate.sql", executionPhase = ExecutionPhase.AFTER_TEST_METHOD)
@Sql(value = "classpath:test-data.sql", executionPhase = ExecutionPhase.BEFORE_TEST_METHOD)
@SuppressWarnings("NonAsciiCharacters")
class CouponJdbcRepositoryTest {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.boot.test.autoconfigure.jdbc.JdbcTest;
import org.springframework.jdbc.core.JdbcTemplate;

Expand All @@ -19,8 +20,8 @@
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;

@JdbcTest
@Sql(value = "classpath:reset.sql", executionPhase = ExecutionPhase.BEFORE_TEST_METHOD)
//@Sql(value = "classpath:test-data.sql", executionPhase = ExecutionPhase.BEFORE_TEST_METHOD)
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@Sql(value = "classpath:truncate.sql", executionPhase = ExecutionPhase.AFTER_TEST_METHOD)
@SuppressWarnings("NonAsciiCharacters")
class MemberJdbcRepositoryTest {

Expand Down
29 changes: 0 additions & 29 deletions src/test/java/cart/persistence/order/OrderJdbcRepositoryTest.java

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.boot.test.autoconfigure.jdbc.JdbcTest;
import org.springframework.jdbc.core.JdbcTemplate;

Expand All @@ -15,8 +16,10 @@

import static org.assertj.core.api.Assertions.assertThat;

@Sql(value = "classpath:reset.sql", executionPhase = ExecutionPhase.BEFORE_TEST_METHOD)
@JdbcTest
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@Sql(value = "classpath:truncate.sql", executionPhase = ExecutionPhase.BEFORE_TEST_METHOD)
@Sql(value = "classpath:truncate.sql", executionPhase = ExecutionPhase.AFTER_TEST_METHOD)
class OrderedItemJdbcRepositoryTest {

@Autowired
Expand Down
Loading

0 comments on commit 7e1f7f5

Please sign in to comment.