Spring Boot

Testing in Spring Boot

Testing in Spring Boot: @SpringBootTest, @WebMvcTest, @DataJpaTest, MockMvc, TestRestTemplate, slice di test

30 domande da colloquio·
Mid-Level
1

Quale annotazione usare per caricare il contesto completo di Spring Boot in un test di integrazione?

Risposta

@SpringBootTest carica il contesto completo dell'applicazione, inclusi tutti i bean e le auto-configurazioni. Questa annotazione è usata per i test di integrazione che richiedono l'intera applicazione. @WebMvcTest e @DataJpaTest caricano solo una parte del contesto (test slicing), mentre @ContextConfiguration è un'annotazione di più basso livello per configurare manualmente il contesto (più complessa).

2

Che cos'è il test slicing in Spring Boot?

Risposta

Il test slicing consiste nel caricare solo una parte specifica del contesto Spring per velocizzare i test. Ad esempio, @WebMvcTest carica solo i componenti web (controller, filter), mentre @DataJpaTest carica solo i repository JPA. Questo riduce il tempo di avvio e migliora le prestazioni dei test evitando di caricare bean non necessari.

3

Quale annotazione usare per testare solo un controller Spring MVC?

Risposta

@WebMvcTest è progettato specificamente per testare i controller Spring MVC. Questa annotazione carica solo i componenti web (controller, @ControllerAdvice, filter, interceptor) e configura automaticamente MockMvc. @SpringBootTest caricherebbe l'intero contesto (inutile per testare un singolo controller), @DataJpaTest è per i repository e @RestClientTest è per testare i client HTTP (RestTemplate, WebClient).

4

A cosa serve l'annotazione @MockBean in Spring Boot Test?

5

Quale oggetto usare per simulare richieste HTTP in un test con @WebMvcTest?

+27 domande da colloquio

Padroneggia Spring Boot per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis