Java Academy · Oppitunti

Springin testaus (WebTestClient/JUnit)

Kirjoittakaa kevyitä controller-testiejä WebTestClientin ja JUnitin perusteiden avulla.

Oppitunti 1/38 vaihetta

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.

Aloita maksutta

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

  1. Springin testaus (WebTestClient/JUnit)
  2. Konfiguraatio ja profiilit
  3. Paketointi ja suorittaminen
← Takaisin: Java Academy