SpringBootTest 어노테이션이 없는 단위 테스트시 @value값이 주입되지 않는 경우가 발생한다.
아래 코드를 추가하면 설정파일을 자동으로 읽어와 @value에 주입한다.
@ContextConfiguration(
initializers = {ConfigFileApplicationContextInitializer.class}
)
예제
@SpringBootTest 미사용시
@DisplayName("Redis 기본 기능 테스트")
@ActiveProfiles(profiles = "local")
@ExtendWith(SpringExtension.class)
@ContextConfiguration(
initializers = {ConfigFileApplicationContextInitializer.class}, // application.yml 파일을 읽어온다.
classes = {RedisCacheConfig.class} // @value 사용 클래스
)
class CacheServiceTest {
// some codes
}
@SpringBootTest 어노테이션 사용시
@DisplayName("Redis 기본 기능 테스트")
@ActiveProfiles(profiles = "local")
@SpringBootTest(classes = {RedisCacheConfig.class}) // @ExtendWith(SpringExtension.class)을 포함한다.
class CacheServiceTest {
// some codes
}
'SpringFramework > JUnit Test' 카테고리의 다른 글
MockMvc get post 테스트 (0) | 2021.05.18 |
---|---|
단위 테스트 작성 규칙 (0) | 2021.03.30 |
응답값 한글 깨짐 (0) | 2021.03.22 |
JUnit DataJpaTest 단위 테스트 (with vault) (0) | 2021.03.19 |
Mock Response 객체로 변환 (0) | 2020.11.26 |