0Pricing
Testing Mastery: JUnit, Mockito & Integration Tests · درس

Assertions وتنفيذ JUnit

تعلّم استخدام أساليب assertion في JUnit للتحقق من نتائج الاختبارات وتشغيلها بفعالية داخل بيئة التطوير المتكاملة.

Assertions وتنفيذ JUnit درس مجاني في Testing Mastery: JUnit, Mockito & Integration Tests على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Testing Mastery: JUnit, Mockito & Integration Tests، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Testing Mastery: JUnit, Mockito & Integration Tests 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

What are Assertions?

Assertions are the checks that decide pass or fail: they verify a condition is true, and if it isn’t, the test fails and flags the problem.

Checking for Equality

assertEquals() is the workhorse: pass it the expected value and the actual value, and the test passes only when they match.

`assertEquals` in Action

Here’s assertEquals verifying a sum: compare the expected result against what your method returns. Match means pass.

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;

public class MathUtilsTest {

    // A simple method to test
    int add(int a, int b) {
        return a + b;
    }

    @Test
    void testAddMethod() {
        // Expected result: 5
        int expected = 5;
        // Actual result from our method
        int actual = add(2, 3);
        
        // Assert that expected and actual are the same
        assertEquals(expected, actual, "2 + 3 should be 5");
    }
}

Checking Boolean Conditions

To check logical outcomes, use assertTrue and assertFalse — they pass when the condition is true or false respectively.

`assertTrue` in Practice

Here assertTrue confirms a number is positive — a clean way to validate any boolean condition.

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertTrue;

public class NumberCheckerTest {

    // A simple method to test
    boolean isPositive(int number) {
        return number > 0;
    }

    @Test
    void testIsPositive() {
        int num = 10;
        // Assert that num is positive
        assertTrue(isPositive(num), num + " should be positive");
    }
}

Handling Null Values

For null checks, use assertNotNull and assertNull — crucial for catching NullPointerExceptions before they bite.

`assertNotNull` Demo

Here assertNotNull and assertNull verify a lookup that returns a user or null when none is found.

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;

public class UserServiceTest {

    // Dummy method simulating fetching a user
    String getUserById(int id) {
        if (id == 1) {
            return "Alice"; // User found
        }
        return null; // User not found
    }

    @Test
    void testExistingUser() {
        String user = getUserById(1);
        assertNotNull(user, "User with ID 1 should exist");
    }

    @Test
    void testNonExistingUser() {
        String user = getUserById(99);
        assertNull(user, "User with ID 99 should not exist");
    }
}

Executing JUnit Tests

Running tests is easy: most IDEs have built-in JUnit support — right-click a class or method, hit Run, and read the results window.

Understanding Pass/Fail

Reading results is simple: green means all tests passed, red means an assertion failed and there’s likely a bug. Click a failure for details.

Assertion Challenge

Consider the following simple method and test. What will be the outcome of running this test?

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;

public class SimpleCalculatorTest {
    int subtract(int a, int b) {
        return a - b;
    }

    @Test
    void testSubtract() {
        assertEquals(10, subtract(15, 5));
    }
}

Recap: Assertions & Execution

You can now validate code with JUnit assertions — assertEquals, assertTrue, assertNull and friends — and run tests right in your IDE.

الأسئلة الشائعة

هل درس «Assertions وتنفيذ JUnit» مجاني؟

نعم — نص درس «Assertions وتنفيذ JUnit» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Testing Mastery: JUnit, Mockito & Integration Tests، انتقل إلى CoddyKit PRO. تتضمن دورة Testing Mastery: JUnit, Mockito & Integration Tests 4 دروس في المجموع.

ماذا ستتعلم في «Assertions وتنفيذ JUnit»؟

تعلّم استخدام أساليب assertion في JUnit للتحقق من نتائج الاختبارات وتشغيلها بفعالية داخل بيئة التطوير المتكاملة. تتمرن على Testing Mastery: JUnit, Mockito & Integration Tests مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Testing Mastery: JUnit, Mockito & Integration Tests؟

لا تُشترط خبرة سابقة. Testing Mastery: JUnit, Mockito & Integration Tests على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «Assertions وتنفيذ JUnit»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Testing Mastery: JUnit, Mockito & Integration Tests هذا؟

نعم. كل درس في Testing Mastery: JUnit, Mockito & Integration Tests يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

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

  1. مقدمة إلى اختبار الوحدات
  2. التعليقات التوضيحية الأساسية في JUnit 5
  3. Assertions وتنفيذ JUnit
  4. تنظيم الاختبارات باستخدام @DisplayName والتداخل
← العودة إلى Testing Mastery: JUnit, Mockito & Integration Tests