Adnotarea @SpringBootTest este folosită pentru teste de integrare de vârf, semnalând framework-ului de testare să caute clasa principală @SpringBootApplication și să inițializeze întregul context de componente (bean-uri, configurații, conexiuni la baze de date).
Folosirea parametrului webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT pornește un server HTTP real (Tomcat) pe un port liber, permițând testarea comportamentului exact al aplicației așa cum va rula în producție.
Exemplu: Test de integrare complet cu @SpringBootTest și 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 ApplicationIntegrationTests {
@Autowired
private TestRestTemplate restTemplate;
@Test
void shouldReturnHealthStatusUp() {
ResponseEntity response = restTemplate.getForEntity("/actuator/health", String.class);
assertEquals(HttpStatus.OK, response.getStatusCode());
}
}
Întrebări & Exemple de Cod:
Adnotarea @SpringBootTest în Spring BootAi o nelămurire despre utilizarea comenzii
Adnotarea @SpringBootTest în Spring Bootsau 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.