اختبار Java من الصفر: خارطة طريق للمبتدئين

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

"الكود بدون اختبارات هو تراث قديم": لماذا يجب أن تبدأ اليوم

\n\n

تخيل أنك كتبت تطبيقًا بلغة Java. إنه يعمل. لكنك تخشى تغيير أي شيء، لأن خطوة واحدة خاطئة قد تؤدي إلى انهيار كل شيء. هل هذا مألوف؟ مرحبًا بك في عالم حيث اختبار Java ليس ترفًا، بل مهارة أساسية للبقاء.

\n\n

كثير من المبرمجين المبتدئين يؤجلون الاختبارات "لوقت لاحق". يقولون: دعني أتعلم كتابة الكود أولاً، ثم سأهتم بالاختبارات. لكن الحقيقة أن اختبارات الوحدة في Java ليست عبئًا إضافيًا، بل هي حبل الأمان الخاص بك. فهي تجبرك على كتابة كود أفضل وأكثر نمطية ووضوحًا. نعم، وأرباب العمل يقدرون بشدة المطورين الذين يجيدون تغطية الكود بالاختبارات.

\n\n

في هذه المقالة، سنشرح من أين تبدأ اختبار Java كمبتدئ. ستتعرف على الأدوات الأساسية - JUnit وMockito، وستكتب أول اختباراتك، وستفهم كيف لا تقع في فخ "الاختبار من أجل الاختبار". هيا بنا!

\n\n

الخطوة 1: إعداد البيئة - أول منصة اختبار لك

\n\n

قبل كتابة الاختبارات، تحتاج إلى تجهيز البيئة. الخبر السار: لأتمتة اختبارات Java لا تحتاج إلى أي شيء خارق. كل ما لديك بالفعل - JDK وبيئة التطوير (IntelliJ IDEA أو Eclipse) - يكفي.

\n\n

Maven أو Gradle - اختر أداة البناء

\n\n

مشاريع Java الحديثة نادرًا ما تستغني عن نظام بناء. سنستخدم Maven - فهو المعيار الفعلي لمعظم المشاريع. إليك ملف pom.xml الأدنى مع التبعيات اللازمة للاختبار:

\n\n
<dependencies>\n    <!-- JUnit 5 - الإطار الرئيسي للاختبارات -->\n    <dependency>\n        <groupId>org.junit.jupiter</groupId>\n        <artifactId>junit-jupiter-api</artifactId>\n        <version>5.10.0</version>\n        <scope>test</scope>\n    </dependency>\n    \n    <!-- Mockito لإنشاء كائنات وهمية (mock objects) -->\n    <dependency>\n        <groupId>org.mockito</groupId>\n        <artifactId>mockito-core</artifactId>\n        <version>5.6.0</version>\n        <scope>test</scope>\n    </dependency>\n</dependencies>
\n\n

لاحظ <scope>test</scope> - هذه المكتبات لن تصل إلى البناء النهائي للتطبيق، فهي مطلوبة فقط لتشغيل الاختبارات.

\n\n

الخطوة 2: JUnit - أول اختبار حقيقي لك

\n\n

JUnit هو الأساس الذي يُبنى عليه كل اختبار Java. باستخدامه، تكتب اختبارات الوحدة: تتحقق من عمل دالة أو فصل برمجي واحد بشكل منعزل.

\n\n

كتابة أول اختبار

\n\n

لنفترض أن لدينا آلة حاسبة بسيطة:

\n\n
public class Calculator {\n    public int add(int a, int b) {\n        return a + b;\n    }\n    \n    public int divide(int a, int b) {\n        if (b == 0) {\n            throw new IllegalArgumentException("لا يمكن القسمة على صفر!");\n        }\n        return a / b;\n    }\n}
\n\n

الآن لنكتب اختبارًا لها. أنشئ فصلًا في المجلد src/test/java:

\n\n
import org.junit.jupiter.api.Test;\nimport static org.junit.jupiter.api.Assertions.*;\n\nclass CalculatorTest {\n    \n    private final Calculator calculator = new Calculator();\n    \n    @Test\n    void testAdd() {\n        // Arrange (التحضير)\n        int a = 2;\n        int b = 3;\n        \n        // Act (التنفيذ)\n        int result = calculator.add(a, b);\n        \n        // Assert (التحقق)\n        assertEquals(5, result, "2 + 3 يجب أن يساوي 5");\n    }\n    \n    @Test\n    void testDivideByZero() {\n        // نتحقق من أن الدالة ترمي استثناء\n        assertThrows(IllegalArgumentException.class, \n            () -> calculator.divide(10, 0));\n    }\n}
\n\n

شغّل الاختبار - الشريط الأخضر في بيئة التطوير سيخبرك أن كل شيء يعمل. تهانينا، لقد اتخذت للتو خطوتك الأولى في اختبار الوحدة في Java.

المدونات

توصيات الكتب