해당 글은 지난 글에 이어서 작성하는 글이며, 김영한님의 '스프링 DB 1편 - 데이터 접근 핵심 원리' 강의를 참고했습니다. 멀티스레드 환경에서의 트랜잭션 동작 - feat. 테스트 코드최근에 한 프로젝트에서 테스트 코드를 짜다가 트러블 슈팅 과정에서 새롭게 안 사실이 있어서 블로그를 작성하게 되었다. "동일한 이메일로 사용자가 동시에 가입할 경우, 하나의 계정만 생성judyalwayswantscarrot.tistory.com 지난번 글에서 "멀티스레드 환경에서의 트랜잭션 동작"을 살펴보았다! 아래와 같이 테스트 코드를 짰을때, 메인 스레드인 테스트가 시작되는 메서드와 내부에서 생성된 3개의 스레드들에서 트랜잭션이 제대로 동작하고 있는지 확인보았다. 결과적으로는 메인 스레드인 테스트 메서드에서는..
최근에 한 프로젝트에서 테스트 코드를 짜다가 트러블 슈팅 과정에서 새롭게 안 사실이 있어서 블로그를 작성하게 되었다. "동일한 이메일로 사용자가 동시에 가입할 경우, 하나의 계정만 생성되는지"에 대한 테스트 코드를 짰다. 이를 위해 멀티스레드 환경에서 동시에 같은 이메일로 유저를 저장했을 때, 하나의 계정만 생성되었는지 확인하고자 했다. 처음 구성한 코드는 아래와 같다.1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950@DataJpaTestclass MemberRepositoryTest { @Autowired private MemberRepository memberRepositor..