단위 테스트 코드 작성시 원칙 5가지
1.fast : 테스트 코드를 실행하는 일은 오래 걸리면 안된다
2.Independent : 독립적으로 실행되어야 한다
3.Repeatable : 반복 가능
4.Self-Validating : 매뉴얼 없이 테스트 코드만 실행해도 성공,실패 여부 확인 가능해야함
5.Timely : 즉시 사용 가능해야 한다.
스프링 부트는 테스트를 위한 스타터를 제공하는데
디펜던시에 spring-boot-starter-test를 추가하면 자동으로 설정해준다
testImplementation 'org.springframework.boot:spring-boot-starter-test'
: 단위테스트는 다른 디펜던시가 전혀 없는 상황에서 실행할 수 있는 테스트를 의미
@SpringBootTest를 사용하지 않는다 (스프링을 전혀 실행하지 않는다)
만약 테스트 해야할 클래스가 여러개라면 클래스를 직접 지정해주자
(통합테스트 중에서도 특정 클래스만 테스트하면 되는 경우 클래스 속성 반드시 지정)

데이터베이스 연동으로 bean이 필요하다면 Mock객체를 사용해서 테스트 (Mockito)
: //TODO
단위테스트 참고 블로그
: Repository만 테스트하기 위해서는 service와의 결합을 끊어야 한다.
: 테스트 클래스에 적용

스프링부트 테스트는 @DataJpaTest 어노테이션을 제공하는데 이것을 통해서 repository 단일 테스트가 가능해진다.