У меня есть класс, который является клиентом другого приложения.
class StarFleetClient {
private RestTemplate restTemplate = null;
private String accessToken = null;
public StarFleetClient(String address, String username, String password) {
restTemplate = new RestTemplate();
accessToken = restTemplate.postForEntity(...);
}
public String attack() {
return restTemplate.exchange(... )
}
}
Теперь я создаю несколько экземпляров этого класса всякий раз, когда они мне требуются.Каждый раз учетные данные будут разными.
new StarFleetClient("address1", "user1", "pass");
В другой раз
new StarFleetClient("address1", "user1", "pass");
и так далее ...
Теперь это прекрасно работает, но проблема возникает, когда я пишу модультесты.Я не хочу называть настоящий звездный флот во время испытаний.Мне нужно смоделировать RestTemplate
, но по мере создания нового экземпляра я не могу должным образом выполнять смоделирование.
Как мне написать контрольные примеры для этого?Или как я могу сделать этот код тестируемым?
Технический стек: Spring Boot, Mockito