@Suite এবং @SelectPackages এনোটেশন দিয়ে Test Suite তৈরি করা

Test Suite এবং Test Classes সংগঠিত করা - জেইউনিট (JUnit) - Java Technologies

250

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

এখানে, আমরা JUnit 5 এর @Suite এবং @SelectPackages এনোটেশন ব্যবহার করে Test Suite কিভাবে তৈরি করা যায় তার উদাহরণ দেখব।


১. Test Suite কী?

Test Suite হল একধরনের কনটেইনার যেখানে একাধিক টেস্ট কেস একত্রিত করা হয়। এটি আপনাকে একাধিক টেস্ট ক্লাসকে একটি নির্দিষ্ট অ্যারে বা গ্রুপে টেস্ট করার সুযোগ দেয়। সাধারণত, এটি বড় প্রোজেক্টের টেস্টিংয়ের জন্য উপকারী হয় যেখানে একাধিক ক্লাস বা মডিউলকে একসাথে টেস্ট করা প্রয়োজন।


২. JUnit 5 Test Suite তৈরি করার জন্য প্রয়োজনীয় ডিপেনডেন্সি

JUnit 5 ব্যবহার করতে হলে আপনার প্রজেক্টে JUnit Jupiter Engine ডিপেনডেন্সি যোগ করা থাকতে হবে। নীচে Maven এবং Gradle এর জন্য ডিপেনডেন্সি দেয়া হলো।

Maven Dependency:

<dependencies>
    <!-- JUnit Jupiter API -->
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>5.7.0</version>
        <scope>test</scope>
    </dependency>

    <!-- JUnit Jupiter Engine -->
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-engine</artifactId>
        <version>5.7.0</version>
        <scope>test</scope>
    </dependency>
</dependencies>

Gradle Dependency:

dependencies {
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0'
}

৩. @Suite এবং @SelectPackages এনোটেশন ব্যবহার করে Test Suite তৈরি করা

JUnit 5 এ @Suite এবং @SelectPackages এনোটেশন ব্যবহার করে আপনি একাধিক টেস্ট ক্লাস একত্রিত করতে পারেন।

৩.১ @Suite এবং @SelectPackages ব্যবহার করার উদাহরণ

import org.junit.platform.suite.api.SelectPackages;
import org.junit.platform.suite.api.Suite;

@Suite
@SelectPackages({"com.example.tests", "com.example.functional"})
public class AllTestsSuite {
    // এখানে কোনো কোডের প্রয়োজন নেই, শুধু টেস্ট প্যাকেজ ও ক্লাস উল্লেখ করবেন
}

এখানে:

  • @Suite এনোটেশন টেস্ট সুইট চালাতে ব্যবহৃত হয়।
  • @SelectPackages এনোটেশন ব্যবহার করে আপনি যেসব প্যাকেজে টেস্ট ক্লাস আছে সেগুলোকে নির্বাচিত করেন। এটি একাধিক প্যাকেজকেও গ্রহণ করতে পারে, যেমন উদাহরণে "com.example.tests" এবং "com.example.functional" প্যাকেজগুলো অন্তর্ভুক্ত করা হয়েছে।

৩.২ Test Classes:

এখন ধরে নিন, আমাদের দুটি টেস্ট ক্লাস রয়েছে:

TestClass1.java:

package com.example.tests;

import org.junit.jupiter.api.Test;

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

public class TestClass1 {
    @Test
    void testMethod1() {
        assertTrue(true);
    }
}

TestClass2.java:

package com.example.functional;

import org.junit.jupiter.api.Test;

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

public class TestClass2 {
    @Test
    void testMethod2() {
        assertTrue(true);
    }
}

এই দুটি ক্লাসের টেস্ট মেথডগুলো এখন AllTestsSuite টেস্ট সুইটে একত্রিত হয়ে চলবে।


৪. @SuiteSelectClasses এবং @SuiteSelectPackages এর মধ্যে পার্থক্য

  • @SelectPackages: এটি একটি বা একাধিক প্যাকেজ নির্বাচন করতে ব্যবহৃত হয় এবং সমস্ত ক্লাসগুলিকে অন্তর্ভুক্ত করে যেগুলোর মধ্যে টেস্ট মেথড রয়েছে।
  • @SelectClasses: এটি নির্দিষ্ট ক্লাসগুলোকে নির্বাচন করতে ব্যবহৃত হয়।

উদাহরণ: @SelectClasses ব্যবহার করা

import org.junit.platform.suite.api.SelectClasses;
import org.junit.platform.suite.api.Suite;

@Suite
@SelectClasses({TestClass1.class, TestClass2.class})
public class SpecificTestsSuite {
}

এখানে, TestClass1 এবং TestClass2 ক্লাসগুলোকে নির্বাচিত করা হয়েছে এবং তাদের টেস্ট মেথড একত্রিতভাবে চালানো হবে।


৫. JUnit 5 Test Suite চালানো

JUnit 5 Test Suite চালানোর জন্য, আপনি আপনার IDE (IntelliJ IDEA, Eclipse) অথবা Maven/Gradle কমান্ডের মাধ্যমে টেস্ট রান করতে পারেন।

Maven Command:

mvn test

IntelliJ IDEA:

  1. আপনার Test Suite ক্লাসে রাইট ক্লিক করুন।
  2. "Run 'AllTestsSuite'" অপশনটি নির্বাচন করুন।

Eclipse:

  1. Test Suite ক্লাসে রাইট ক্লিক করুন।
  2. "Run As" -> "JUnit Test" নির্বাচন করুন।

সারাংশ

JUnit 5 এ @Suite এবং @SelectPackages এনোটেশন ব্যবহার করে আপনি একাধিক টেস্ট ক্লাস এবং প্যাকেজের জন্য একটি Test Suite তৈরি করতে পারেন। এটি আপনার টেস্ট কার্যক্রমকে সংগঠিত এবং কার্যকরী করে তোলে, যেখানে একাধিক টেস্ট একসাথে চালানো যায়। @SelectClasses ব্যবহার করে নির্দিষ্ট টেস্ট ক্লাসের সেটও নির্বাচন করা সম্ভব। এই টেকনিকটি বড় প্রোজেক্টে বেশ উপকারী, যেখানে অনেক টেস্ট ক্লাস এবং প্যাকেজ থাকতে পারে।


Content added By
Promotion

Are you sure to start over?

Loading...