@TestConfiguration
애노테이션이란?
- 애플리케이션 컨텍스트에서 특정 Bean 을 대체하고 싶을 때 사용한다.
- 실제 Application Context 를 부트스트랩하지 않고 특별한 테스트 Configuration 을 이용하고 싶을 때 사용한다.
사용 방법
- 사용 방법은 2가지가 있다.
static class
이용하기
@RunWith(SpringRunner.class)
public class EmployeeServiceImplIntegrationTest {
@TestConfiguration
static class EmployeeServiceImplTestContextConfiguration {
@Bean
public EmployeeService employeeService() {
return new EmployeeService() {
// implement methods
};
}
}
@Autowired
private EmployeeService employeeService;
}
다른 테스트 클래스로 나누기
@TestConfiguration
애노테이션으로 구성된 클래스는 컴포넌트 스캔에서 제외된다.- 그래서 쓰일 때
@Import
를 통한 명시적 쓰임이 필요하다.
@TestConfiguration
public class EmployeeServiceImplTestContextConfiguration {
@Bean
public EmployeeService employeeService() {
return new EmployeeService() {
// implement methods
};
}
}
@RunWith(SpringRunner.class)
@Import(EmployeeServiceImplTestContextConfiguration.class)
public class EmployeeServiceImplIntegrationTest {
@Autowired
private EmployeeService employeeService;
// remaining class code
}
반응형
'프레임워크 > 스프링 프레임워크' 카테고리의 다른 글
@AutoConfigureTestDatabase 애노테이션이란? (0) | 2023.08.03 |
---|---|
@MockBean 애노테이션이란? (0) | 2023.08.03 |
@DataJpaTest 애노테이션이란? (0) | 2023.08.03 |
Spring Boot Configuration Processor 란? (0) | 2023.08.02 |
@EnableGlobalMethodSecurity 애노테이션이란? (0) | 2023.07.31 |