@Test
@Transactional
void testMember() {
//given
Member member = new Member("memberA");
//when
Member savedMember = memberJpaRepository.save(member);
//then
Member findMember = memberJpaRepository.find(member.getId());
assertThat(findMember).isEqualTo(member);
}
findMember
와 member
가 같다.테스트 코드에서 @Transactional
를 적용한다면 (Jpa 사용시) 영속성 컨텍스트에 플러시를 날리지 않는다. 즉, DB에 데이터를 반영하지 않는다는 것이다. 만약에 테스트 코드 작성시 디비에 데이터가 잘 작성되었는지 확인하고 싶다면 @Rollback(false)
를 사용하도록 하자.