SpringRunner, @SpringBootTest
: 애플리케이션 컨텍스트를 초기화하고 필요한 객체만 주입
, 테스트당 한 번만 로딩(컨텍스트 캐시싱)
But, 컨택스트를 재사용 하더라도 자원 낭비, 트랜잭션 롤백과 부작용 발생하지 않도록 컨텍스트 정리 필요
final 클래스
: 해당 클래스의모든 필드는 getter로만 접근 가능
롬복
: 컴파일러 동작 전에 애너테이션(@)을 기반으로 코드 생성
getter, 생성자, toString 등등 생략 가능
@RequiredArgsConsructor
: 모든 상수 필드를 갖는 생성자 만듦
@Getter
: 모든 필드의 getter 생성
@ToString
: toString() 메서드 생성
@EqualsAndHashCode
: equals(), hashCode() 메서드 생성
@WebMvcTest VS @SpringBootTest
- @WebMvcTest: 컨트롤러 테스트 애너테이션
, HTTP 요청, 응답을 목 객체 이용, 실제 연결 생성 X
, 컨트롤러만 테스트- @SpringBootTest: 웹 애플리케이션 컨텍스트와 설정 모두 불러와 실제 웹 서버에 연결 시도
, 통합테스트