Java Technologies TestNG Task: TestNG টেস্ট রান করা গাইড ও নোট

564

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

TestNG টাস্কটি ব্যবহার করে আপনি অ্যান্ট বিল্ড স্ক্রিপ্টের মাধ্যমে TestNG টেস্ট স্যুট চালাতে পারেন, যা স্বয়ংক্রিয় টেস্টিং, বিল্ড সাইকেল, এবং ডিপ্লয়মেন্ট প্রক্রিয়া সহজ করে।


TestNG Task: Overview

অ্যাপাচি অ্যান্টের TestNG Task টাস্কটি TestNG ফ্রেমওয়ার্কের টেস্ট স্যুট চালানোর জন্য ব্যবহৃত হয়। এটি TestNG এর XML configuration ফাইল ব্যবহার করে টেস্ট স্যুট রান করতে পারে এবং টেস্টের ফলাফল কনসোল বা আউটপুট ফাইলে রিপোর্ট আকারে দেখাতে পারে।

Syntax:

<testng classpath="classpath" outputdir="output_directory" suitefiles="testng.xml"/>
  • classpath: TestNG ফ্রেমওয়ার্ক এবং আপনার টেস্ট ক্লাসের জন্য classpath নির্ধারণ করা হয়।
  • outputdir: এটি টেস্ট রানের আউটপুট ফাইল যেখানে রিপোর্ট সংরক্ষিত হবে।
  • suitefiles: এটি TestNG XML ফাইল বা টেস্ট স্যুট ফাইলের পথ, যা টেস্ট কনফিগারেশন এবং টেস্ট গ্রুপ নির্ধারণ করে।

TestNG Task এর ব্যবহার: উদাহরণ

1. TestNG টাস্কের মাধ্যমে টেস্ট রান করা

ধরা যাক, আপনার কাছে একটি TestNG XML কনফিগারেশন ফাইল আছে, যা আপনার টেস্ট কেসগুলিকে পরিচালনা করবে। আমরা <testng> টাস্ক ব্যবহার করে সেই কনফিগারেশন ফাইলের মাধ্যমে টেস্ট রান করব।

testng.xml:

<suite name="MyTestSuite">
    <test name="MyTest">
        <classes>
            <class name="com.example.TestClass"/>
        </classes>
    </test>
</suite>

এখানে:

  • <suite>: এটি TestNG স্যুট ডিফাইন করে।
  • <test>: এটি একটি টেস্ট গ্রুপ বা ক্লাসের集合, যা <classes> এর মধ্যে ডিফাইন করা টেস্ট ক্লাসগুলো চালাবে।
  • <class>: এটি একটি টেস্ট ক্লাস যা com.example.TestClass নামে ডিফাইন করা রয়েছে।

এখন, অ্যাপাচি অ্যান্টের মাধ্যমে TestNG টেস্ট চালানোর জন্য <testng> টাস্ক ব্যবহার করা হবে।

build.xml:

<project name="TestNGExample" default="run-tests">
    
    <target name="run-tests">
        <!-- Run TestNG tests using the testng.xml configuration file -->
        <testng classpath="lib/*" outputdir="test-output" suitefiles="testng.xml"/>
    </target>

</project>

এখানে:

  • classpath="lib/*": এটি TestNG ফ্রেমওয়ার্ক এবং টেস্ট ক্লাসের জন্য classpath সঠিকভাবে নির্ধারণ করে। আপনি যে কোনো JAR ফাইল বা classes ফোল্ডার এই path এ অন্তর্ভুক্ত করতে পারেন।
  • suitefiles="testng.xml": এটি TestNG XML কনফিগারেশন ফাইলের পথ নির্ধারণ করে।
  • outputdir="test-output": টেস্ট রানের আউটপুট যেখানে সংরক্ষিত হবে, যেমন টেস্ট রিপোর্ট।

2. TestNG ফোল্ডারে একাধিক টেস্ট রান করা

যদি আপনার একাধিক টেস্ট ক্লাস থাকে এবং আপনি সেই সব ক্লাস একত্রে চালাতে চান, তবে আপনি TestNG XML ফাইলের মাধ্যমে অনেকগুলো টেস্ট ক্লাস বা প্যাকেজ যুক্ত করতে পারেন।

testng.xml:

<suite name="MyTestSuite">
    <test name="MyTest">
        <packages>
            <package name="com.example.tests"/>
        </packages>
    </test>
</suite>

এখানে:

  • <packages> ট্যাগের মধ্যে আপনি প্যাকেজ ডিফাইন করতে পারেন যেখানে সমস্ত টেস্ট ক্লাস রাখা থাকবে। এটি একাধিক টেস্ট ক্লাসকে একত্রে চালাতে সাহায্য করবে।

build.xml:

<project name="TestNGExample" default="run-tests">
    
    <target name="run-tests">
        <!-- Run all tests in the com.example.tests package -->
        <testng classpath="lib/*" outputdir="test-output" suitefiles="testng.xml"/>
    </target>

</project>

এখানে:

  • <testng> টাস্কটি নির্দিষ্ট TestNG XML ফাইল অনুযায়ী সমস্ত টেস্ট ক্লাস চালাবে এবং আউটপুট ফোল্ডারে রিপোর্ট তৈরি করবে।

3. TestNG রিপোর্ট বিশ্লেষণ:

TestNG টেস্ট রান করার পর, আপনি JUnit বা HTML রিপোর্ট পেতে পারেন। TestNG স্বয়ংক্রিয়ভাবে test-output ফোল্ডারে index.html ফাইল তৈরি করে, যেটি টেস্ট রানের বিস্তারিত রিপোর্ট ধারণ করে।


Best Practices for Using the TestNG Task

  1. Define Test Suites Clearly:
    • TestNG XML ফাইলের মধ্যে আপনার টেস্ট স্যুট এবং টেস্ট ক্লাসগুলি সুস্পষ্টভাবে সংজ্ঞায়িত করুন, যাতে টেস্টের কাঠামো এবং কাজের শর্ত পরিষ্কার থাকে।
  2. Use Multiple Test Suites:
    • যদি আপনার প্রোজেক্টে অনেকগুলো টেস্ট থাকে, তবে আপনি একাধিক TestNG XML ফাইল তৈরি করতে পারেন এবং প্রতিটি টেস্ট স্যুট আলাদাভাবে রান করতে পারেন।
  3. Keep Dependencies Organized:
    • TestNG টেস্ট রানের জন্য আপনার সমস্ত ডিপেন্ডেন্সি (যেমন, TestNG JAR, আপনার টেস্ট ক্লাস, এবং অন্যান্য লাইব্রেরি) সঠিকভাবে classpath এ অন্তর্ভুক্ত করুন।
  4. Handle Test Failures:

    • টেস্ট ফেইল হলে কি করা হবে তার জন্য <failonerror> অ্যাট্রিবিউট ব্যবহার করুন। এটি আপনাকে টেস্ট ব্যর্থ হলে বিল্ড প্রক্রিয়া বন্ধ করতে সাহায্য করবে।
    <testng classpath="lib/*" outputdir="test-output" suitefiles="testng.xml" failonerror="true"/>
    
  5. Generate HTML Reports:
    • HTML রিপোর্ট ব্যবহার করে টেস্ট ফলাফলগুলি আরও বিস্তারিত এবং গ্রাফিক্যাল আকারে উপস্থাপন করতে পারেন। TestNG স্বয়ংক্রিয়ভাবে একটি index.html রিপোর্ট তৈরি করবে।
  6. Use Data Providers for Parameterized Tests:
    • TestNG Data Providers ব্যবহার করে আপনি প্যারামিটারাইজড টেস্ট তৈরি করতে পারেন, যা একাধিক ইনপুট দিয়ে একই টেস্ট ক্লাস চালাতে সাহায্য করবে।

সারাংশ

<testng> টাস্কটি অ্যাপাচি অ্যান্টের একটি শক্তিশালী টাস্ক, যা TestNG ফ্রেমওয়ার্কের মাধ্যমে স্বয়ংক্রিয় টেস্টিং করতে সাহায্য করে। এটি TestNG XML ফাইলের মাধ্যমে টেস্ট স্যুট রান করতে সক্ষম করে এবং টেস্টের ফলাফল আউটপুট ফোল্ডারে রিপোর্ট আকারে সংরক্ষণ করে। Best practices অনুসরণ করে, আপনি TestNG টেস্টগুলি কার্যকরভাবে অ্যাপাচি অ্যান্টের মাধ্যমে চালাতে এবং রেকর্ড করতে পারবেন, যা টেস্টিং প্রক্রিয়া সহজ এবং অটোমেটেড করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...