Nou Generator de prompt AI — scrie prompturi mai bune pentru ChatGPT, Claude și Gemini →

Clasa TestRestTemplate în Spring Boot Test în Spring Boot

test Spring Boot 3.x / JUnit 5 Q&A / Distribuie cod

Client HTTP de testare comod și tolerant la erori pentru verificarea răspunsurilor reale returnate de serverul Spring Boot integrat.

Sintaxă
testRestTemplate.getForEntity("/api/v1/resource", String.class)

Spre deosebire de clasa standard RestTemplate (care aruncă excepții dacă serverul returnează coduri de eroare HTTP 4xx sau 5xx), TestRestTemplate este special conceput pentru testare: este tolerant la erori și returnează întotdeauna un obiect ResponseEntity<T>.

Acest comportament permite asertarea directă a codurilor de eroare (de exemplu verificarea că o cerere fără credențiale returnează 401 UNAUTHORIZED sau că un parametru invalid returnează 400 BAD_REQUEST), având și suport nativ pentru autentificare Basic (withBasicAuth).

Exemplu: Verificarea răspunsului HTTP de eroare cu TestRestTemplate
package ro.dexblog.demo;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.web.client.TestRestTemplate;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import static org.junit.jupiter.api.Assertions.assertEquals;

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
class SecureApiEndpointTest {

    @Autowired
    private TestRestTemplate restTemplate;

    @Test
    void shouldReturnForbiddenForAnonymousUsers() {
        ResponseEntity response = restTemplate.getForEntity("/api/v1/admin/dashboard", String.class);
        assertEquals(HttpStatus.FORBIDDEN, response.getStatusCode());
    }
}

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Clasa TestRestTemplate în Spring Boot Test

Ai o nelămurire despre utilizarea comenzii Clasa TestRestTemplate în Spring Boot Test sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.