Spring Mockito kann RastTemplate nicht verspottenJava

Java-Forum
Guest
 Spring Mockito kann RastTemplate nicht verspotten

Post by Guest »

hi! Daten von GitHub nehmen Ich möchte über meine eigenen < /p>
verspotten

Code: Select all

Expected :1
Actual   :11
< /code>
Logik abrufen: < /p>
@Component
@Setter
public class GitHubApi {
public List getUserRepos(String user) {
restTemplate = new RestTemplate();

HttpHeaders headers = new HttpHeaders();
addHeaders(headers);

entity = new HttpEntity(headers);

ResponseEntity response = restTemplate.exchange(
GITHUB_API_URL + "/users/" + user + "/repos",
HttpMethod.GET, entity,
new ParameterizedTypeReference() {
});
return response.getBody();
}
}
< /code>
Testlogik: < /p>
    @Mock
private RestTemplate restTemplate;

@InjectMocks
private GitHubApi gitHubApi;

@Test
public void getUserRepos_ShouldReturnRepositories() {
String username = "user";

GitHubRepository mockedRepository = GitHubRepository.builder()
.id(1L)
.name("repo1")
.fullName("user/repo1")
.build();
List expected = List.of(mockedRepository);

ResponseEntity mockResponse = new ResponseEntity(expected, HttpStatus.OK);

HttpHeaders headers = new HttpHeaders();
addHeaders(headers);

when(restTemplate.exchange(
eq(GITHUB_API_URL + "/users/" + username + "/repos"),
eq(HttpMethod.GET),
any(HttpEntity.class),
eq(new ParameterizedTypeReference() {})
)).thenReturn(mockResponse);

List repositories = gitHubApi.getUserRepos(username);

assertNotNull(repositories);
assertEquals(1, repositories.size());
assertEquals("repo1", repositories.getFirst().getName());
}
}
Ich versuche EQ zu entfernen und versuchte, Httpentity anstelle von irgendeinem hinzuzufügen.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post