• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

RestAssured를 사용한 테스트에서는 Transactional이 동작하지 않는데 어떻게 데이터를 롤백할 수 있을까요?

23.07.04 22:38 작성 조회수 376

1

RestAssured를 사용한 테스트에서는 Transactional이 동작하지 않는데 어떻게 데이터를 롤백할 수 있을까요?

 

현재 사용하고 있는 방법은

 

  1. 테스트 데이터베이스와 프로덕션 데이터베이스를 확실히 분리하고

  2. 각 테스트 메서드 실행 이전, 혹은 이후에 'DELETE FROM item'과 같이 테이블의 모든 데이터를 삭제하는 쿼리를 날리는 방식을 사용하고 있습니다.

 

질문드리고 싶은 것은

  • RestAssured를 사용하는 경우 @Transactional이 잘 작동하지 않는 이유에 대해 찾아봤지만 잘 이해가 되지 않습니다.

  • 위에서 제시한 방법 외에 더 좋은 방법은 없을까요..?

 

(참고: 위에 설명드린 방법은 아래 다른 분의 포스팅에 자세히 나와 있더라고요..!)

https://mangkyu.tistory.com/264

 

답변 1

답변을 작성해보세요.

1

David님의 프로필

David

2023.07.06

안녕하세요. 깃짱님, 공식 서포터즈 David입니다.

아래와 같은 이유로 데이터를 초기화 하는 별도의 스텝을 추가하는 수 밖에 없는 것 같습니다.

https://stackoverflow.com/a/43473382

감사합니다.