Test di Spring (WebTestClient/JUnit)
Scrivere test leggeri per i controller usando WebTestClient e le basi di JUnit.
Test di Spring (WebTestClient/JUnit) è una lezione Java Academy gratuita su CoddyKit. Questa è la lezione 1 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Java Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Java Academy include 3 lezioni in totale.
Introduzione
Obiettivo: comprendere le basi di JUnit e come WebTestClient invia chiamate HTTP ai controller nei test.
Nozioni essenziali su JUnit
JUnit fornisce asserzioni e metodi di test. In Spring Boot, i test vengono eseguiti con SpringExtension o @SpringBootTest.
Codice: concetto di asserzione
I test confrontano valore atteso e valore effettivo e restituiscono risultati chiari; JUnit automatizza questo meccanismo.
public class Main {
// Simple, runnable demo of assertion-like checks (not JUnit), prints PASS/FAIL.
static void assertEquals(int expected, int actual, String name) {
if (expected == actual) {
System.out.println(name + ": PASS");
} else {
System.out.println(name + ": FAIL expected " + expected + " but was " + actual);
}
}
public static void main(String[] args) {
// Pretend we test a controller method that adds numbers.
int sum = 2 + 3; // pretend controller result
assertEquals(5, sum, "addsTwoNumbers");
}
}
Panoramica di WebTestClient
WebTestClient invia richieste HTTP al controller nei test e verifica stato, intestazioni e corpo della risposta.
Codice: flusso richiesta→verifica
Nei test reali si usa WebTestClient invece di questo mock, ma il flusso è simile: richiesta → gestore → verifica.
public class Main {
// Simulate an HTTP test: build request, call handler, verify response.
static String handleHello(String path) {
// pretend controller:
if ("/hello".equals(path)) return "Hello";
return "404";
}
public static void main(String[] args) {
String response = handleHello("/hello");
if ("Hello".equals(response)) {
System.out.println("GET /hello -> 200 OK, body=Hello (PASS)");
} else {
System.out.println("GET /hello -> FAIL");
}
}
}
Codice: verifica del percorso di errore
Con WebTestClient si verificherebbero codici di stato e l'eventuale payload di errore.
public class Main {
// Simulate verifying error responses.
static int deleteUser(long id) {
// pretend service: only id 1 exists
if (id == 1L) return 204; // No Content
return 404; // Not Found
}
public static void main(String[] args) {
int status = deleteUser(99L); // should be 404 in our scenario
if (status == 404) {
System.out.println("DELETE /users/99 -> 404 (PASS)");
} else {
System.out.println("DELETE /users/99 -> FAIL got " + status);
}
}
}
Verifica di WebTestClient
Verifica rapida: per cosa viene comunemente utilizzato WebTestClient?
Riepilogo
Riepilogo: JUnit = asserzioni e metodi di test. WebTestClient = test HTTP per i controller. Verificare chiaramente stato e corpo della risposta.
Domande Frequenti
La lezione «Test di Spring (WebTestClient/JUnit)» è gratuita?
Sì — il testo completo di «Test di Spring (WebTestClient/JUnit)» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Java Academy, passa a CoddyKit PRO. Il corso Java Academy include 3 lezioni in totale.
Cosa imparerò in «Test di Spring (WebTestClient/JUnit)»?
Scrivere test leggeri per i controller usando WebTestClient e le basi di JUnit. Eserciti Java Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Java Academy?
Non è richiesta alcuna esperienza precedente. Java Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 3.
Quanto tempo richiede la lezione «Test di Spring (WebTestClient/JUnit)»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Java Academy?
Sì. Ogni lezione Java Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Test di Spring (WebTestClient/JUnit)
- Configurazione e profili
- Packaging ed esecuzione