0Pricing
Java Academy · Урок

Тестирование Spring (WebTestClient/JUnit)

Пишите лёгкие тесты для контроллеров с помощью WebTestClient и изучайте основы JUnit.

«Тестирование Spring (WebTestClient/JUnit)» — бесплатный урок Java Academy на CoddyKit. Это урок 1 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Java Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Java Academy содержит 3 уроков всего.

Введение

Цель: понять основы JUnit и то, как WebTestClient обращается к вашим контроллерам с HTTP-вызовами в тестах.

Основы JUnit

JUnit предоставляет проверки и методы для тестов. В Spring Boot тесты запускаются с помощью SpringExtension или @SpringBootTest.

Код: идея проверки

Тесты сравнивают ожидаемое и фактическое значения и сообщают понятный результат; JUnit автоматизирует эту идею.

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

Обзор WebTestClient

WebTestClient отправляет HTTP-запросы вашему контроллеру в тестах и проверяет статус, заголовки и тело ответа.

Код: последовательность «запрос → проверка»

В настоящих тестах вместо этой имитации используется WebTestClient, но последовательность похожа: запрос → обработчик → проверка.

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

Код: проверка пути ошибки

В WebTestClient можно проверять коды статуса и необязательные данные ошибки.

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

Проверка WebTestClient

Быстрая проверка: для чего обычно используется WebTestClient?

Итоги

Итоги: JUnit = проверки и методы для тестов. WebTestClient = тестирование контроллеров по HTTP. Понятно проверяйте статус и тело ответа.

Часто задаваемые вопросы

Урок «Тестирование Spring (WebTestClient/JUnit)» бесплатный?

Да — полный текст урока «Тестирование Spring (WebTestClient/JUnit)» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Java Academy, подпишись на CoddyKit PRO. Курс Java Academy содержит 3 уроков всего.

Чему я научусь в уроке «Тестирование Spring (WebTestClient/JUnit)»?

Пишите лёгкие тесты для контроллеров с помощью WebTestClient и изучайте основы JUnit. Ты практикуешь Java Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Java Academy?

Предыдущий опыт не требуется. Java Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 3.

Сколько времени занимает урок «Тестирование Spring (WebTestClient/JUnit)»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Java Academy?

Да. Каждый урок Java Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Тестирование Spring (WebTestClient/JUnit)
  2. Конфигурация и профили
  3. Упаковка и запуск
← Назад к Java Academy