0Pricing
Java Academy · บทเรียน

การทดสอบ Spring (WebTestClient/JUnit)

เขียนการทดสอบน้ำหนักเบาสำหรับคอนโทรลเลอร์ด้วย WebTestClient และพื้นฐาน JUnit

การทดสอบ Spring (WebTestClient/JUnit) เป็นบทเรียน Java Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 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)” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Java Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Java Academy มีบทเรียนทั้งหมด 3 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การทดสอบ Spring (WebTestClient/JUnit)”

เขียนการทดสอบน้ำหนักเบาสำหรับคอนโทรลเลอร์ด้วย WebTestClient และพื้นฐาน JUnit คุณปฏิบัติ Java Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 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