- @SpringBootTest Annotation
- 해당 Annotation을 쓰면, @Autowired 를 통해 별도의 의존성 주입 없이 테스트에 필요한 객체를 가져다 쓸 수 있다.
- AccountService는 AccountRepository 를 주입받고 있기 때문에 연쇄적으로 의존성을 주입해줄 필요 없음.
- 해당 Annotation을 쓰면, @Autowired 를 통해 별도의 의존성 주입 없이 테스트에 필요한 객체를 가져다 쓸 수 있다.
- @DisplayName()
- 테스트 목록에 표기 되는 이름을 원하는 이름으로 변경해줄 수 있다.
- @BeforeEach
- 하위의 테스트들을 실행하기 전 먼저 실행 해주는 로직으로 간편하게 초기값을 세팅해줄 수 있다.
- ex) 테스트 1의 계좌를 먼저 생성해 id 값 1을 준다.
- ex) 테스트 2의 계좌를 먼저 생성해 id 값 2를 준다.
- BeforeEach 가 없다면 여러개의 테스트에 계좌를 생성하는 로직을 모두 포함 시켜줘야함.
- 하위의 테스트들을 실행하기 전 먼저 실행 해주는 로직으로 간편하게 초기값을 세팅해줄 수 있다.
- @ExtendWIth(MockitoExcention.class)
- Mockito 사용을 위한 Annotation
- @Mock
- 주입 시켜야할 Mock 만들기
- @InjectionMocks
- 위에서 만든 Mock 을 해당 객체에 주입 하기
이후 해당 Mock을 통한 테스트 진행 가능
'Java > Spring' 카테고리의 다른 글
DTO(Data Transfer Object) 를 사용하는 이유 (0) | 2024.02.18 |
---|---|
@EntityListeners 사용해서 데이터의 저장 시간 넣어주기 (0) | 2024.02.18 |
유틸리티 클래스란? (feat. @UtilityClass) (0) | 2024.02.15 |
Interceptor에 대한 이모저모 (0) | 2024.02.15 |
Filter에 대한 이모저모 (0) | 2024.02.15 |