0Pricing
Java Academy · レッスン

Springのテスト(WebTestClient/JUnit)

WebTestClientとJUnitの基本を使って、コントローラー向けの軽量なテストを記述します。

「Springのテスト(WebTestClient/JUnit)」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン1/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これは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時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全3レッスンが含まれています。

「Springのテスト(WebTestClient/JUnit)」で何を学びますか?

WebTestClientとJUnitの基本を使って、コントローラー向けの軽量なテストを記述します。 ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Java Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/3です。

「Springのテスト(WebTestClient/JUnit)」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このJava Academyレッスンでコードを書いて実行できますか?

はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Springのテスト(WebTestClient/JUnit)
  2. 設定とプロファイル
  3. パッケージ化と実行
← Java Academyに戻る