Java Technologies @BeforeClass এবং @AfterClass এর প্রয়োগ গাইড ও নোট

357

@BeforeClass এবং @AfterClass টেস্টএনজি-তে ব্যবহৃত গুরুত্বপূর্ণ অ্যানোটেশন, যা টেস্ট ক্লাসের শুরুতে এবং শেষে কোনো কার্যক্রম সম্পাদনের জন্য ব্যবহার করা হয়। এগুলো সাধারণত টেস্ট স্যুট চলাকালে সেটআপ বা ক্লিনআপ কার্যক্রমের জন্য ব্যবহৃত হয়।


@BeforeClass

@BeforeClass অ্যানোটেশনটি এমন একটি মেথডকে চিহ্নিত করে যা একটি টেস্ট ক্লাসের সমস্ত টেস্ট মেথড চালানোর আগে একবার এক্সিকিউট হবে। এটি মূলত টেস্ট স্যুটের জন্য প্রাথমিক সেটআপের জন্য ব্যবহার করা হয়।

@AfterClass

@AfterClass অ্যানোটেশনটি এমন একটি মেথডকে চিহ্নিত করে যা টেস্ট ক্লাসের সমস্ত টেস্ট মেথড সম্পন্ন হওয়ার পরে একবার এক্সিকিউট হয়। এটি সাধারণত ক্লিনআপ বা রিসোর্স রিলিজের জন্য ব্যবহৃত হয়।


উদাহরণ ১: টেস্ট ক্লাসের পূর্বে এবং পরে কার্যক্রম চালানো

import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

public class ExampleTest {

    @BeforeClass
    public void setUp() {
        System.out.println("BeforeClass: টেস্ট ক্লাস শুরু হওয়ার আগে সেটআপ করা হচ্ছে।");
    }

    @Test
    public void testMethod1() {
        System.out.println("Test 1 চলছে।");
    }

    @Test
    public void testMethod2() {
        System.out.println("Test 2 চলছে।");
    }

    @AfterClass
    public void tearDown() {
        System.out.println("AfterClass: টেস্ট ক্লাস শেষ হওয়ার পরে ক্লিনআপ করা হচ্ছে।");
    }
}

আউটপুট

BeforeClass: টেস্ট ক্লাস শুরু হওয়ার আগে সেটআপ করা হচ্ছে।
Test 1 চলছে।
Test 2 চলছে।
AfterClass: টেস্ট ক্লাস শেষ হওয়ার পরে ক্লিনআপ করা হচ্ছে।

উদাহরণ ২: ডেটাবেস কানেকশন সেটআপ এবং ক্লিনআপ

import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

public class DatabaseTest {

    @BeforeClass
    public void connectToDatabase() {
        System.out.println("BeforeClass: ডেটাবেসের সাথে সংযোগ স্থাপন করা হচ্ছে।");
    }

    @Test
    public void runQuery1() {
        System.out.println("Query 1 চলছে।");
    }

    @Test
    public void runQuery2() {
        System.out.println("Query 2 চলছে।");
    }

    @AfterClass
    public void disconnectFromDatabase() {
        System.out.println("AfterClass: ডেটাবেস সংযোগ বন্ধ করা হচ্ছে।");
    }
}

আউটপুট

BeforeClass: ডেটাবেসের সাথে সংযোগ স্থাপন করা হচ্ছে।
Query 1 চলছে।
Query 2 চলছে।
AfterClass: ডেটাবেস সংযোগ বন্ধ করা হচ্ছে।

ব্যবহারের ক্ষেত্র

  1. সেটআপ (Setup): টেস্ট স্যুট চালানোর আগে রিসোর্স, ডেটাবেস কানেকশন, ফাইল লোডিং ইত্যাদি কাজ করার জন্য।
  2. ক্লিনআপ (Cleanup): টেস্ট স্যুট শেষ হওয়ার পরে রিসোর্স রিলিজ, ডেটাবেস কানেকশন বন্ধ ইত্যাদি কাজের জন্য।

উপকারিতা

  • টেস্ট ক্লাসের শুরু এবং শেষে নির্দিষ্ট কার্যক্রম পরিচালনার সুবিধা।
  • কোডের পুনরাবৃত্তি কমিয়ে রাখে।
  • টেস্ট স্যুট পরিচালনা আরও সহজ এবং কার্যকর হয়।

এই অ্যানোটেশনগুলোর সঠিক ব্যবহার টেস্টিং প্রক্রিয়াকে আরও সংগঠিত ও কার্যকর করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...