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 يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. اختبار Spring ‏(WebTestClient/JUnit)
  2. الإعدادات وProfiles
  3. التغليف والتشغيل
← العودة إلى Java Academy