JUnit এবং TestNG এর সাথে Maven ইন্টিগ্রেশন

Maven এবং Unit Testing - ম্যাভেন (Maven) - Java Technologies

271

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

এই গাইডে আমরা JUnit এবং TestNG এর সাথে Maven ইন্টিগ্রেশন সম্পর্কে আলোচনা করব এবং কীভাবে সহজভাবে টেস্ট রান করতে পারেন তা দেখব।


১. JUnit এবং Maven ইন্টিগ্রেশন

JUnit হলো একটি জনপ্রিয় এবং widely used টেস্ট ফ্রেমওয়ার্ক যা Java কোডের ইউনিট টেস্ট লিখতে এবং চালাতে ব্যবহৃত হয়। মাভেনের সাথে JUnit ইন্টিগ্রেশন করলে এটি স্বয়ংক্রিয়ভাবে টেস্ট চালাতে এবং টেস্ট রেজাল্ট বের করতে সাহায্য করে।

১.১ JUnit Dependency Setup in Maven

JUnit টেস্টিং ফ্রেমওয়ার্ক ব্যবহার করতে হলে প্রথমে আপনাকে pom.xml ফাইলে JUnit dependency যোগ করতে হবে।

<dependencies>
    <!-- JUnit Dependency for Test -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.2</version>  <!-- JUnit version -->
        <scope>test</scope>
    </dependency>
</dependencies>

এখানে, scope এলিমেন্টটি test হিসেবে সেট করা হয়েছে, কারণ এই ডিপেনডেন্সিটি শুধুমাত্র টেস্টের জন্য প্রয়োজন।

১.২ JUnit Test Example

একটি সাধারণ JUnit টেস্ট ক্লাস উদাহরণ:

import org.junit.Test;
import static org.junit.Assert.assertEquals;

public class MathTest {

    @Test
    public void testAddition() {
        int sum = 1 + 1;
        assertEquals(2, sum);
    }
}

এখানে, @Test অ্যানোটেশন ব্যবহার করে একটি টেস্ট মেথড তৈরি করা হয়েছে যা দুইটি সংখ্যার যোগফল পরীক্ষা করবে।

১.৩ Running JUnit Tests with Maven

Maven এর মাধ্যমে JUnit টেস্ট রান করতে, নিচের কমান্ডটি ব্যবহার করা যেতে পারে:

mvn test

এই কমান্ডটি আপনার প্রোজেক্টের সমস্ত JUnit টেস্ট চালাবে এবং তাদের ফলাফল দেখাবে।


২. TestNG এবং Maven ইন্টিগ্রেশন

TestNG একটি আরও শক্তিশালী টেস্ট ফ্রেমওয়ার্ক যা জাভার জন্য বিশেষভাবে ডিজাইন করা হয়েছে এবং এটি JUnit এর তুলনায় আরো অনেক ফিচার প্রদান করে, যেমন প্যারালাল টেস্টিং, ডেটা-ড্রিভেন টেস্টিং, টেস্ট গ্রুপিং, ইত্যাদি।

২.১ TestNG Dependency Setup in Maven

TestNG ব্যবহার করতে হলে আপনাকে pom.xml ফাইলে TestNG dependency যোগ করতে হবে।

<dependencies>
    <!-- TestNG Dependency for Test -->
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>7.3.0</version>  <!-- TestNG version -->
        <scope>test</scope>
    </dependency>
</dependencies>

এখানে, scope আবার test হিসাবে সেট করা হয়েছে, কারণ এটি শুধুমাত্র টেস্টিং সময় প্রয়োজন।

২.২ TestNG Test Example

এখানে একটি সাধারণ TestNG টেস্ট ক্লাস উদাহরণ দেওয়া হলো:

import org.testng.annotations.Test;
import static org.testng.Assert.assertEquals;

public class MathTest {

    @Test
    public void testAddition() {
        int sum = 1 + 1;
        assertEquals(2, sum);
    }
}

এখানে, @Test অ্যানোটেশন দিয়ে একটি টেস্ট মেথড তৈরি করা হয়েছে যা দুটি সংখ্যার যোগফল পরীক্ষা করবে।

২.৩ Running TestNG Tests with Maven

TestNG টেস্ট রান করতে, মাভেনের মাধ্যমে নিচের কমান্ড ব্যবহার করা যেতে পারে:

mvn test

Maven testng টেস্ট চালানোর জন্য Surefire Plugin ব্যবহার করবে এবং TestNG টেস্টগুলো রান করবে।


৩. Maven Surefire Plugin

Maven Surefire Plugin হলো একটি মাভেন প্লাগইন যা JUnit এবং TestNG টেস্টগুলির জন্য বিল্ড ফেজে টেস্ট চালানোর দায়িত্ব পালন করে। এই প্লাগইনটি টেস্টগুলো চালানো, ফলাফল সংগ্রহ করা এবং রিপোর্ট তৈরি করা নিশ্চিত করে।

৩.১ Surefire Plugin Configuration

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.22.2</version>
            <configuration>
                <includes>
                    <include>**/*Test.java</include>
                </includes>
            </configuration>
        </plugin>
    </plugins>
</build>

এখানে, maven-surefire-plugin কনফিগার করা হয়েছে যাতে এটি সব টেস্ট ক্লাসের সাথে কাজ করে যেগুলির নাম Test দিয়ে শেষ হয় (যেমন MathTest.java)।

৩.২ TestNG with Surefire Plugin

TestNG টেস্ট চালানোর জন্য, Surefire Plugin TestNG ফিচার সমর্থন করে। উপরের কনফিগারেশনে TestNG টেস্ট ফাইল চালানোর জন্য মাভেন প্লাগইন সেট করা হয়।


৪. JUnit এবং TestNG এর মধ্যে পার্থক্য

ফিচারJUnitTestNG
প্রধান উদ্দেশ্যসাধারণ ইউনিট টেস্টিংউন্নত টেস্টিং (গ্রুপিং, ডেটা ড্রিভেন, প্যারালাল)
অ্যানোটেশন@Test, @Before, @After@Test, @BeforeClass, @AfterMethod
প্যারালাল টেস্টিংনেইআছে
টেস্ট গ্রুপিংনেইআছে
ডেটা ড্রিভেন টেস্টিংনেইআছে
ফেজ কন্ট্রোলসাধারণবেশ বিস্তারিত, ফেজ কন্ট্রোল করতে পারা যায়

সারাংশ

Maven এর সাথে JUnit এবং TestNG এর ইন্টিগ্রেশন আপনাকে অটোমেটেড টেস্টিং পরিচালনা করতে সাহায্য করে। JUnit সাধারণ ইউনিট টেস্টের জন্য এবং TestNG উন্নত টেস্টিং ফিচার যেমন প্যারালাল টেস্টিং এবং ডেটা ড্রিভেন টেস্টিংয়ের জন্য ব্যবহৃত হয়। Maven Surefire Plugin এই টেস্টিং প্লাগইনগুলির সাহায্যে টেস্ট চালায় এবং ফলাফল সংগ্রহ করে। মাভেনের মাধ্যমে টেস্টিং স্বয়ংক্রিয় করা যায়, যার ফলে ডেভেলপমেন্ট প্রক্রিয়া দ্রুত এবং নির্ভুল হয়।


Content added By
Promotion

Are you sure to start over?

Loading...