-test에선 간단한 필드 주입을 사용(@Autowired)
@Transactional: 테스트 시작 전에 트랜젝션을 하고, 테스트가 끝나면 롤백을 해주기 때문에 데이터베이스의 데이터를 지워준다.(테스트 메서드 기준)-> 다음 테스트를 반복해서 실행시킬 수 있다.
@SpringBootTest
@Transactional
class MemberServiceIntegrationTest {
@Autowired MemberService memberService;//간단한 필드 주입 사용
@Autowired MemberRepository memberRepository;
}
통합 테스트가 있으면 로컬에서 이뤄지는 단위 테스트는 필요없지 않나?(단위 테스트)--> 최소한의 단위로 테스트 하는 방식이 좋은 테스트이다. 테스트 설계가 탄탄, 테스트 속도 빠름