Я работаю в весеннем проекте, где у меня есть сервис, который вызывает другой API, используя Restemplate, этот сервис возвращает только строку в качестве токена, и все работает нормально для меня, это мой сервис:
@Service
public class AppServiceImpl {
@Value("${rest.appUrl}")
private String appUrl;
@Value("${credType}")
private String credType;
@Autowired
private RestTemplate restTemplate;
public String getToken() {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
MultiValueMap<String, String> map = new LinkedMultiValueMap<>();
map.add("grant_type", credType);
HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<MultiValueMap<String, String>>(map, headers);
ResponseEntity<TargetObject> response = restTemplate.exchange(appUrl, HttpMethod.POST, request, TargetObject.class);
TargetObject targetObject = response.getBody();
return "Bearer " + targetObject.getToken();
}
}
моя проблема в том, что когда я хочу выполнить модульное тестирование этого сервиса, я получаю NullPointerException, и я не знаю почему, это мой модульный тест:
@RunWith(SpringRunner.class)
public class AppServiceImplTest {
private AppService appService = new AppServiceImpl();
@Test
public void getTokenTest() {
String token = appService.getToken();
assertTrue(token != null);
}
}
NullPointerException в этой строке:
ResponseEntity<TargetObject> response = restTemplate.exchange(appUrl, HttpMethod.POST, request, TargetObject.class);
Ты хоть представляешь, в чем проблема с моим тестом? Я провел часы без какого-либо результата
Заранее спасибо