การทดสอบ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การทดสอบ Spring (WebTestClient/JUnit)
- การกำหนดค่าและโปรไฟล์
- การจัดแพ็กเกจและการเรียกใช้