Assertions এর মাধ্যমে Test Result যাচাই করা

JUnit এর মৌলিক ধারণা - জেইউনিট (JUnit) - Java Technologies

272

JUnit হল একটি জনপ্রিয় টেস্টিং ফ্রেমওয়ার্ক যা Java প্রোগ্রামিং ভাষায় ইউনিট টেস্ট তৈরি এবং চালাতে ব্যবহৃত হয়। Assertions ব্যবহার করে আপনি টেস্টের ফলাফল যাচাই করতে পারেন, যা আপনার কোডের কার্যকারিতা সঠিক কিনা তা নিশ্চিত করে। JUnit Assertions আপনাকে বিভিন্ন পদ্ধতির মাধ্যমে টেস্টের ভ্যালু চেক করার সুযোগ দেয় এবং যদি কোনো শর্ত মিলে না যায় তবে একটি ত্রুটি রিপোর্ট করে।

এই টিউটোরিয়ালে, আমরা JUnit Assertions এর বিভিন্ন ধরনের ব্যবহার দেখব, যা টেস্টের ফলাফল যাচাই করার জন্য ব্যবহৃত হয়।


১. JUnit Assertions Overview

Assertions হল এমন পদ্ধতি যা ব্যবহার করে আপনি পরীক্ষার ফলাফল সঠিক কিনা তা যাচাই করতে পারেন। যদি কোনো Assertion সত্য না হয়, তাহলে টেস্টটি ব্যর্থ হবে এবং ত্রুটির বার্তা দেখাবে।

JUnit 5 তে Assertions এর বেশ কিছু গুরুত্বপূর্ণ পদ্ধতি রয়েছে:

  1. assertEquals(): দুটি মানের মধ্যে সমতা যাচাই করতে ব্যবহৃত হয়।
  2. assertNotEquals(): দুটি মানের মধ্যে সমতা না থাকার জন্য ব্যবহৃত হয়।
  3. assertTrue(): একটি শর্ত সত্য কিনা যাচাই করে।
  4. assertFalse(): একটি শর্ত মিথ্যা কিনা যাচাই করে।
  5. assertNull(): একটি অবজেক্ট null কিনা যাচাই করে।
  6. assertNotNull(): একটি অবজেক্ট null না কিনা যাচাই করে।
  7. assertSame(): দুটি অবজেক্ট একই অবজেক্ট কিনা যাচাই করে।
  8. assertNotSame(): দুটি অবজেক্ট আলাদা কিনা যাচাই করে।

২. JUnit Assertions Examples

২.১ assertEquals()

assertEquals() পদ্ধতি দুটি মানের মধ্যে সমতা যাচাই করে। যদি মান দুটি সমান না হয়, তাহলে টেস্টটি ব্যর্থ হবে।

উদাহরণ:

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

public class CalculatorTest {

    @Test
    public void testAddition() {
        int result = 2 + 3;
        assertEquals(5, result, "The addition result should be 5");
    }
}

এখানে, 2 + 3 এর ফলাফল 5 হওয়া উচিত। যদি এটি না হয়, তবে টেস্টটি ব্যর্থ হবে।

২.২ assertNotEquals()

assertNotEquals() পদ্ধতি দুটি মানের মধ্যে সমতা না থাকার জন্য ব্যবহৃত হয়।

উদাহরণ:

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

public class CalculatorTest {

    @Test
    public void testSubtraction() {
        int result = 5 - 3;
        assertNotEquals(1, result, "The subtraction result should not be 1");
    }
}

এখানে, 5 - 3 এর ফলাফল 2 হওয়া উচিত, যা 1 এর সমান নয়। যদি এটি 1 হয়, তাহলে টেস্টটি ব্যর্থ হবে।

২.৩ assertTrue()

assertTrue() পদ্ধতি একটি শর্ত সত্য কিনা যাচাই করে। শর্তটি যদি সত্য না হয়, তাহলে টেস্টটি ব্যর্থ হবে।

উদাহরণ:

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

public class StringTest {

    @Test
    public void testStringIsEmpty() {
        String str = "";
        assertTrue(str.isEmpty(), "The string should be empty");
    }
}

এখানে, শর্ত হল str.isEmpty(), যা সত্য হওয়া উচিত। যদি এটি সত্য না হয়, তাহলে টেস্টটি ব্যর্থ হবে।

২.৪ assertFalse()

assertFalse() পদ্ধতি একটি শর্ত মিথ্যা কিনা যাচাই করে।

উদাহরণ:

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

public class NumberTest {

    @Test
    public void testNumberIsNegative() {
        int number = 5;
        assertFalse(number < 0, "The number should not be negative");
    }
}

এখানে, শর্ত হল number < 0, যা মিথ্যা হওয়া উচিত (কারণ 5 একটি ধনাত্মক সংখ্যা)। যদি এটি সত্য হয়, তাহলে টেস্টটি ব্যর্থ হবে।

২.৫ assertNull()

assertNull() পদ্ধতি একটি অবজেক্ট null কিনা যাচাই করে।

উদাহরণ:

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

public class ObjectTest {

    @Test
    public void testObjectIsNull() {
        Object obj = null;
        assertNull(obj, "The object should be null");
    }
}

এখানে, obj null হওয়া উচিত। যদি এটি null না হয়, তাহলে টেস্টটি ব্যর্থ হবে।

২.৬ assertNotNull()

assertNotNull() পদ্ধতি একটি অবজেক্ট null না কিনা যাচাই করে।

উদাহরণ:

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

public class ObjectTest {

    @Test
    public void testObjectIsNotNull() {
        Object obj = new Object();
        assertNotNull(obj, "The object should not be null");
    }
}

এখানে, obj null না হওয়া উচিত। যদি এটি null হয়, তাহলে টেস্টটি ব্যর্থ হবে।

২.৭ assertSame()

assertSame() পদ্ধতি দুটি অবজেক্ট একই অবজেক্ট কিনা যাচাই করে।

উদাহরণ:

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

public class ObjectTest {

    @Test
    public void testSameObject() {
        Object obj1 = new Object();
        Object obj2 = obj1;
        assertSame(obj1, obj2, "Both objects should refer to the same instance");
    }
}

এখানে, obj1 এবং obj2 দুটি একই অবজেক্ট হতে হবে। যদি দুটি আলাদা অবজেক্ট হয়, তাহলে টেস্টটি ব্যর্থ হবে।

২.৮ assertNotSame()

assertNotSame() পদ্ধতি দুটি অবজেক্ট আলাদা কিনা যাচাই করে।

উদাহরণ:

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

public class ObjectTest {

    @Test
    public void testNotSameObject() {
        Object obj1 = new Object();
        Object obj2 = new Object();
        assertNotSame(obj1, obj2, "Both objects should be different instances");
    }
}

এখানে, obj1 এবং obj2 দুটি আলাদা অবজেক্ট হতে হবে। যদি দুটি একই অবজেক্ট হয়, তাহলে টেস্টটি ব্যর্থ হবে।


৩. JUnit Assertions এর গুরুত্ব

  1. Code Quality Assurance: Assertions টেস্টের ফলাফল নিশ্চিত করতে ব্যবহৃত হয়, যা কোডের গুণগত মান নিশ্চিত করে।
  2. Automated Testing: Assertions স্বয়ংক্রিয়ভাবে কোডের কার্যকারিতা যাচাই করে এবং প্রোগ্রামের ভুল ত্রুটি শনাক্ত করে।
  3. Improved Debugging: Assertions টেস্ট চলাকালীন ত্রুটি এবং ভুল দ্রুত শনাক্ত করতে সাহায্য করে, যা ডিবাগিং প্রক্রিয়াকে সহজ করে।
  4. Clearer Test Results: Assertions এর মাধ্যমে পরীক্ষার ফলাফল স্পষ্ট হয়, এবং ডেভেলপাররা দ্রুত ফলাফল বিশ্লেষণ করতে পারে।

সারাংশ

JUnit Assertions হল একটি গুরুত্বপূর্ণ টুল যা JUnit টেস্টিং ফ্রেমওয়ার্কে ব্যবহার করা হয়। এর মাধ্যমে আপনি বিভিন্ন ধরনের শর্ত যাচাই করতে পারেন, যেমন সমতা, সত্যতা, মিথ্যাতা, null এবং non-null অবজেক্ট চেক ইত্যাদি। Assertions টেস্টের ফলাফল যাচাই করার জন্য একটি শক্তিশালী এবং সহজ পদ্ধতি প্রদান করে, যা কোডের কার্যকারিতা নিশ্চিত করতে সহায়তা করে এবং আপনার প্রোগ্রামে ত্রুটি সনাক্তকরণ সহজ করে।


Content added By
Promotion

Are you sure to start over?

Loading...