Springin testaus (WebTestClient/JUnit)
Kirjoittakaa kevyitä controller-testiejä WebTestClientin ja JUnitin perusteiden avulla.
Springin testaus (WebTestClient/JUnit) on ilmainen Java Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/3. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Java Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Java Academy-kurssilla on yhteensä 3 oppituntia.
Johdanto
Tavoite: ymmärtää JUnitin perusteet ja sen, miten WebTestClient kutsuu controllereita HTTP-kutsuilla testeissä.
JUnitin perusteet
JUnit tarjoaa assertioita ja testimetodeja. Spring Bootissa testit suoritetaan käyttämällä SpringExtension-laajennusta tai @SpringBootTest-annotaatiota.
Koodi: assertioiden idea
Testeissä verrataan arvoja odotettu vs. toteutunut ja ilmoitetaan selkeä tulos; JUnit automatisoi tämän idean.
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");
}
}
WebTestClientin yleiskatsaus
WebTestClient lähettää testeissä HTTP-pyyntöjä controllerille ja tarkistaa tilan, otsakkeet ja rungon.
Koodi: pyynnön → tarkistuksen työnkulku
Oikeissa testeissä käytetään tämän mockin sijaan WebTestClientiä, mutta työnkulku on samanlainen: pyyntö → käsittelijä → tarkistus.
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");
}
}
}
Koodi: virhepolun tarkistus
WebTestClientissä tarkistaisitte tilakoodit ja mahdollisen virheen hyötykuorman.
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);
}
}
}
WebTestClientin tarkistus
Pikatarkistus: Mihin WebTestClientiä yleensä käytetään?
Yhteenveto
Yhteenveto: JUnit = assertiot ja testimetodit. WebTestClient = controllerien HTTP-testaus. Tarkistakaa tila ja runko selkeästi.
Opi Java tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 104
- Oppitunnit
- 374
Usein kysytyt kysymykset
Onko oppitunti ”Springin testaus (WebTestClient/JUnit)” ilmainen?
Kyllä – oppitunnin ”Springin testaus (WebTestClient/JUnit)” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Java Academy-kurssin, päivitä CoddyKit PROhon. Java Academy-kurssilla on yhteensä 3 oppituntia.
Mitä opin oppitunnilla ”Springin testaus (WebTestClient/JUnit)”?
Kirjoittakaa kevyitä controller-testiejä WebTestClientin ja JUnitin perusteiden avulla. Harjoittelet Java Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Java Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Java Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/3.
Kuinka kauan ”Springin testaus (WebTestClient/JUnit)”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Java Academy-oppitunnilla?
Kyllä. Jokainen Java Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Springin testaus (WebTestClient/JUnit)
- Konfiguraatio ja profiilit
- Paketointi ja suorittaminen