@Test(groups="") অ্যানোটেশন এর ব্যবহার

TestNG এর মধ্যে টেস্ট স্যুট এবং টেস্ট গ্রুপিং - টেস্টএনজি (TestNG) - Java Technologies

361

@Test(groups="") অ্যানোটেশনটি ব্যবহার করে টেস্টগুলোকে এক বা একাধিক গ্রুপে ভাগ করা যায়। এটি বিশেষত বড় প্রোজেক্টে টেস্ট কেস ম্যানেজমেন্টকে সহজ করে তোলে। গ্রুপিংয়ের মাধ্যমে আপনি নির্দিষ্ট গ্রুপের টেস্ট চালাতে বা নির্দিষ্ট গ্রুপ বাদ দিয়ে অন্য টেস্ট চালাতে পারবেন।


@Test(groups="") এর সুবিধা

  • টেস্টগুলোকে ক্যাটাগরি বা টাইপ অনুযায়ী গ্রুপে ভাগ করা যায়, যেমন smoke, regression, functional
  • নির্দিষ্ট গ্রুপের টেস্ট চালানো যায়।
  • বড় স্কেলের টেস্টিংয়ে সময় এবং ম্যানেজমেন্ট সহজ হয়।

@Test(groups="") এর উদাহরণ

import org.testng.annotations.Test;

public class GroupingTest {

    @Test(groups = {"smoke"})
    public void smokeTest1() {
        System.out.println("This is Smoke Test 1.");
    }

    @Test(groups = {"smoke"})
    public void smokeTest2() {
        System.out.println("This is Smoke Test 2.");
    }

    @Test(groups = {"regression"})
    public void regressionTest() {
        System.out.println("This is Regression Test.");
    }

    @Test(groups = {"smoke", "regression"})
    public void smokeAndRegressionTest() {
        System.out.println("This is both Smoke and Regression Test.");
    }
}

TestNG.xml এর মাধ্যমে নির্দিষ্ট গ্রুপ চালানো

TestNG.xml ব্যবহার করে নির্দিষ্ট গ্রুপ চালানোর কনফিগারেশন দেওয়া যায়।

TestNG.xml ফাইল

<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="Group Test Suite">
    <test name="Smoke Tests">
        <groups>
            <run>
                <include name="smoke"/>
            </run>
        </groups>
        <classes>
            <class name="GroupingTest"/>
        </classes>
    </test>
</suite>

এই কনফিগারেশনে শুধুমাত্র smoke গ্রুপের টেস্টগুলো চালানো হবে।

আউটপুট:

This is Smoke Test 1.
This is Smoke Test 2.
This is both Smoke and Regression Test.

গ্রুপ বাদ দেওয়া (Exclude Groups)

আপনি যদি নির্দিষ্ট একটি গ্রুপ চালাতে না চান তবে তা exclude করে দিতে পারেন।

TestNG.xml ফাইল

<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="Group Test Suite">
    <test name="Exclude Regression Tests">
        <groups>
            <run>
                <exclude name="regression"/>
            </run>
        </groups>
        <classes>
            <class name="GroupingTest"/>
        </classes>
    </test>
</suite>

এই কনফিগারেশনে regression গ্রুপ বাদ দিয়ে অন্যান্য টেস্ট চালানো হবে।

আউটপুট:

This is Smoke Test 1.
This is Smoke Test 2.

একাধিক গ্রুপ চালানো

আপনি একাধিক গ্রুপ চালানোর জন্য include অপশন ব্যবহার করতে পারেন।

TestNG.xml ফাইল

<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="Group Test Suite">
    <test name="Smoke and Regression Tests">
        <groups>
            <run>
                <include name="smoke"/>
                <include name="regression"/>
            </run>
        </groups>
        <classes>
            <class name="GroupingTest"/>
        </classes>
    </test>
</suite>

আউটপুট:

This is Smoke Test 1.
This is Smoke Test 2.
This is Regression Test.
This is both Smoke and Regression Test.

কোডের মধ্যে গ্রুপ চালানোর উদাহরণ

আপনি TestNG Runner ব্যবহার করেও নির্দিষ্ট গ্রুপ চালাতে পারেন।

import org.testng.TestNG;

import java.util.ArrayList;
import java.util.List;

public class TestRunner {
    public static void main(String[] args) {
        TestNG testng = new TestNG();

        // টেস্ট গ্রুপ চালানোর জন্য TestNG কনফিগারেশন
        testng.setGroups("smoke");

        List<String> suites = new ArrayList<>();
        suites.add("testng.xml"); // TestNG.xml ফাইলের পাথ
        testng.setTestSuites(suites);

        testng.run();
    }
}

উপসংহার

@Test(groups="") টেস্টিং-এ টেস্ট কেসগুলোকে আলাদা গ্রুপে ভাগ করে কার্যকর ম্যানেজমেন্টের সুবিধা দেয়। এটি বড় প্রোজেক্টে টেস্ট সেগ্রিগেশন সহজ করে এবং নির্দিষ্ট গ্রুপ চালানো বা এড়িয়ে যাওয়ার জন্য একটি কার্যকর পদ্ধতি প্রদান করে।

Content added By
Promotion

Are you sure to start over?

Loading...