TestRestTemplate - org.springframework.boot.test.web.client.TestRestTemplate
@SpringBootTest - org.springframework.boot.test.context.SpringBootTest
TestRestTemplate 을 통하여 api를 호출하고 그 결과값을 확인하기 위해 테스트를 작성한다.
이런 엄청나게 긴 오류가 나타났다.
다음 오류 내용이다.
Unsatisfied dependency expressed through field 'restTemplate'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type org.springframework.boot.test.web.client.TestRestTemplate' available: expected at least 1 bean which qualifies as autowire candidate.
스프링 부트에서 제공해 주는건데 해당 타입 빈이 없다고 한다.
TestRestTemplate
해석하면
임베디드 서버에서 @SpringBootTest 주석을 사용하는 경우 TestRestTemplate을 자동으로 사용할 수 있으며 테스트에 @Autowired 될 수 있습니다. 사용자 정의가 필요한 경우 (예 : 추가 메시지 변환기 추가) RestTemplateBuilder @Bean을 사용하십시오.
라고 한다.
SpringBootTest
webEnvironment 설정을 하지 않으면 기본 값은 Mock이라고 한다.
여기까지다.
왜 webEnvironment 를 수정해줘야 하는지 소스를 못찾겠다.
TestRestTemplate 은 서블릿 컨테이너가 필요하기 때문에? webEnvironment 를 수정해줘야 한다.
'오답노트' 카테고리의 다른 글
ModelMapper 사용 시 Setter 쓰기 싫을 때 (2) | 2021.04.06 |
---|---|
java.util.ConcurrentModificationException 발생 (0) | 2021.01.28 |
@Builder 사용시 초기화할 필드가 있다면 (0) | 2021.01.27 |
저장되지 않은 Entity 객체를 포함한 Entity 저장했을 때 (0) | 2021.01.27 |
@Entity, @Builder 함께 사용할 때 (0) | 2021.01.22 |