0Pricing
Java Academy · Lekcja

Testowanie Spring (WebTestClient/JUnit)

Napiszą Państwo lekkie testy kontrolerów, korzystając z WebTestClient i podstaw JUnit.

Testowanie Spring (WebTestClient/JUnit) to bezpłatna lekcja Java Academy na CoddyKit. To lekcja 1 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Java Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Java Academy zawiera 3 lekcji w sumie.

Wprowadzenie

Cel: zrozumieć podstawy JUnit oraz sposób, w jaki WebTestClient wywołuje kontrolery za pomocą żądań HTTP w testach.

Podstawy JUnit

JUnit udostępnia asercje i metody testowe. W Spring Boot testy uruchamia się za pomocą SpringExtension lub @SpringBootTest.

Kod: idea asercji

Testy porównują wartość oczekiwaną z rzeczywistą i przedstawiają jasny wynik; JUnit automatyzuje tę ideę.

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");
  }
}

Omówienie WebTestClient

WebTestClient wysyła w testach żądania HTTP do kontrolera i sprawdza status, nagłówki oraz treść odpowiedzi.

Kod: przepływ od żądania do weryfikacji

W rzeczywistych testach zamiast tej imitacji używa się WebTestClient, ale przepływ jest podobny: żądanie → obsługa → weryfikacja.

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");
    }
  }
}

Kod: weryfikacja ścieżki błędu

W WebTestClient można asertywnie sprawdzać kody statusu oraz opcjonalną treść błędu.

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);
    }
  }
}

Sprawdzenie WebTestClient

Szybkie sprawdzenie: Do czego najczęściej używa się WebTestClient?

Podsumowanie

Podsumowanie: JUnit = asercje i metody testowe. WebTestClient = testowanie kontrolerów za pomocą HTTP. Należy jasno weryfikować status i treść odpowiedzi.

Często zadawane pytania

Czy lekcja „Testowanie Spring (WebTestClient/JUnit)” jest bezpłatna?

Tak — pełny tekst „Testowanie Spring (WebTestClient/JUnit)” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Java Academy, przejdź na CoddyKit PRO. Kurs Java Academy zawiera 3 lekcji w sumie.

Co nauczysz się w „Testowanie Spring (WebTestClient/JUnit)”?

Napiszą Państwo lekkie testy kontrolerów, korzystając z WebTestClient i podstaw JUnit. Ćwiczysz Java Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Java Academy?

Nie wymagamy żadnego doświadczenia. Java Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 3.

Ile czasu zajmuje lekcja „Testowanie Spring (WebTestClient/JUnit)”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Java Academy?

Tak. Każda lekcja Java Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Testowanie Spring (WebTestClient/JUnit)
  2. Konfiguracja i profile
  3. Pakowanie i uruchamianie
← Powrót do Java Academy