스프링부트로 통합 테스트를 하던 중 통합테스트를 해보았다. 간단한 테스트 코드를 보자. memberService.join(member) 호출해서 실제로 데이터베이스를 select를 해보면 테스트 코드에서 테스트용으로 생성한 member 객체의 name인 'hello'가 반영이 된걸 볼 수 있다. 하지만, 테스트 코드의 의미와 다르게 실제 데이터베이스에 적용이 되는게 좀 이상하지않은가? 그렇다. 사실 우리가 테스트하는 데이터들은 실제 디비에 반영이 되지않고 테스트 내에서만 검증을 하고 마쳐야하고, 반복적인 테스트에도 예외가 없어야한다 여기서 만약에 한번 더 가입 테스트를 실행해보면 예상과 같이 이렇게 빨간 불이 뜨면서 내가 미리 선언해둔 '이미 존재하는 회원' 이라는 예외로 넘어가게 된다. 우리가 테스트를..