MockMVC 테스트를 진행 시 테스트 메서드에 @Transactional 이 붙으면, 내부 서비스 로직 테스트 동안에도 같은 트랜잭션이 적용된다.
이로 인해 실제 @Transactional 이 붙지 않은 insert 메서드 또한 정상적으로 테스트되나, 실제 서비스에서 에러가 나는 경우가 생겼다.
이를 해결하고자, @Transactional 을 제거하고 매 @BeforeEach 에서 데이터를 제거했으나,
@BeforeEach 로 인해 삭제됨.이에 대한 해결책을 알아보던 중 다음과 같은 레퍼런스를 찾았다.
https://velog.io/@tmdgh0221/스프링-테스트-케이스에서의-Transactional-유의점
나와 마찬가지로 트랜잭션을 제거하나, @AfterEach 를 통해 DB 클리너를 호출한다.

위와 같이 모든 테이블 명을 조회해온 후
이를 Truncate하는 메서드를 만들었다.