JUnit Task: JUnit টেস্ট রান করা

Java Technologies - অ্যাপাচি অ্যান্ট টাস্কস (Apache ANT Tasks) Testing এবং Reporting Tasks |
166
166

Apache Ant-এ JUnit Task একটি টাস্ক যা JUnit টেস্ট রান করার জন্য ব্যবহৃত হয়। এটি আপনাকে JUnit টেস্টগুলি Ant বিল্ড স্ক্রিপ্টের মাধ্যমে স্বয়ংক্রিয়ভাবে চালাতে সাহায্য করে। আপনি JUnit Task ব্যবহার করে আপনার কোডের ইউনিট টেস্ট চালাতে পারেন এবং ফলাফল দেখতে পারেন।

JUnit Task সাধারণত JUnit টেস্ট ক্লাস বা টেস্ট কেস চালানোর জন্য ব্যবহৃত হয়, এবং এর মাধ্যমে আপনি টেস্টের সফলতা বা ব্যর্থতা জানিয়ে একটি রিপোর্ট তৈরি করতে পারেন।

JUnit Task এর Syntax

<junit>
    <classpath>
        <pathelement path="path_to_test_classes" />
        <pathelement path="path_to_dependencies" />
    </classpath>
    <test name="com.example.MyTest" />
    <formatter type="plain" />
</junit>
  • : টেস্ট চালানোর জন্য প্রয়োজনীয় ক্লাসপাথ।
  • : চালানোর জন্য টেস্ট ক্লাস বা টেস্ট কেসের নাম।
  • : আউটপুট ফরম্যাট, যেমন plain, xml, বা brief

১. Basic Example: Running JUnit Tests

এটি একটি মৌলিক উদাহরণ যেখানে JUnit টেস্ট চালানো হচ্ছে।

<project name="JUnitExample" default="runTests" basedir=".">
    
    <target name="runTests">
        <junit>
            <classpath>
                <pathelement path="build/classes" />
                <pathelement path="lib/junit-4.13.2.jar" />
            </classpath>
            <test name="com.example.MyTest" />
            <formatter type="plain" />
        </junit>
    </target>

</project>

এখানে:

  • : টেস্ট ক্লাস এবং JUnit লাইব্রেরি যোগ করা হয়েছে।
  • : com.example.MyTest নামক টেস্ট ক্লাসটি চালানো হবে।
  • : টেস্ট ফলাফল সাধারণ (plain) আউটপুট ফরম্যাটে প্রদর্শিত হবে।

আউটপুট:

JUnit version 4.13.2
.
Time: 0.023

OK (1 test)

২. Running Multiple JUnit Tests

আপনি একাধিক JUnit টেস্ট চালাতে পারেন, যেখানে <test> টাস্কটি একাধিক টেস্ট কেস বা টেস্ট ক্লাসের জন্য ব্যবহার করা হবে।

<project name="JUnitMultipleTests" default="runTests" basedir=".">
    
    <target name="runTests">
        <junit>
            <classpath>
                <pathelement path="build/classes" />
                <pathelement path="lib/junit-4.13.2.jar" />
            </classpath>
            <test name="com.example.TestOne" />
            <test name="com.example.TestTwo" />
            <formatter type="plain" />
        </junit>
    </target>

</project>

এখানে:

  • এবং : দুটি আলাদা টেস্ট ক্লাস চালানো হচ্ছে।
  • আপনি যতগুলো টেস্ট ক্লাস চালাতে চান, <test> টাস্কটি ততগুলো ইনক্লুড করতে পারেন।

আউটপুট:

JUnit version 4.13.2
..
Time: 0.027

OK (2 tests)

৩. Running JUnit Tests with Test Suites

আপনি একটি JUnit Test Suite ব্যবহার করে একাধিক টেস্ট একসাথে রান করতে পারেন। এটি বিশেষভাবে তখন উপকারী হয় যখন আপনি একাধিক টেস্ট ক্লাসের স্যুট তৈরি করেন।

Step 1: Create a Test Suite (TestSuite.java)

import org.junit.runner.RunWith;
import org.junit.runners.Suite;

@RunWith(Suite.class)
@Suite.SuiteClasses({
    com.example.TestOne.class,
    com.example.TestTwo.class
})
public class TestSuite {
    // This is a test suite class to group tests
}

Step 2: Ant build script to run the test suite

<project name="JUnitTestSuite" default="runTestSuite" basedir=".">
    
    <target name="runTestSuite">
        <junit>
            <classpath>
                <pathelement path="build/classes" />
                <pathelement path="lib/junit-4.13.2.jar" />
            </classpath>
            <test name="com.example.TestSuite" />
            <formatter type="plain" />
        </junit>
    </target>

</project>

এখানে:

  • TestSuite ক্লাসটি TestOne এবং TestTwo টেস্ট ক্লাসগুলোকে একত্রে গ্রুপ করেছে।
  • : এটি টেস্ট স্যুট চালাবে যা TestOne এবং TestTwo টেস্টগুলো একসাথে রান করবে।

আউটপুট:

JUnit version 4.13.2
..
Time: 0.033

OK (2 tests)

৪. JUnit Test with Timeout

আপনি JUnit টেস্টে টাইমআউট যোগ করতে পারেন যাতে একটি টেস্ট নির্দিষ্ট সময়ের মধ্যে শেষ না হলে তা ব্যর্থ হয়।

<project name="JUnitTimeoutExample" default="runTests" basedir=".">
    
    <target name="runTests">
        <junit>
            <classpath>
                <pathelement path="build/classes" />
                <pathelement path="lib/junit-4.13.2.jar" />
            </classpath>
            <test name="com.example.TestWithTimeout">
                <timeout value="1000" />
            </test>
            <formatter type="plain" />
        </junit>
    </target>

</project>

এখানে:

  • : টেস্টটি 1000 মিলিসেকেন্ডের মধ্যে শেষ হতে হবে, অন্যথায় টেস্টটি ব্যর্থ হবে।

আউটপুট (যদি টাইমআউট ঘটে):

JUnit version 4.13.2
Test com.example.TestWithTimeout timed out after 1000 milliseconds

৫. JUnit with Report Format

আপনি JUnit টেস্টের আউটপুট ফরম্যাট নির্ধারণ করতে পারেন, যেমন plain, xml, বা brief। এটি বিশেষভাবে সহায়ক যখন আপনাকে টেস্ট রিপোর্ট ফাইল হিসেবে সংরক্ষণ করতে হয়।

<project name="JUnitReportExample" default="runTests" basedir=".">
    
    <target name="runTests">
        <junit>
            <classpath>
                <pathelement path="build/classes" />
                <pathelement path="lib/junit-4.13.2.jar" />
            </classpath>
            <test name="com.example.MyTest" />
            <formatter type="xml" />
            <resultproperty name="test.results" />
        </junit>
    </target>

</project>

এখানে:

  • : আউটপুট রিপোর্ট XML ফরম্যাটে তৈরি হবে।
  • : টেস্ট ফলাফল একটি প্রপার্টি হিসেবে সংরক্ষিত হবে।

আউটপুট (XML ফরম্যাট):

<testsuite name="com.example.MyTest">
    <testcase name="testMethod" time="0.025"/>
</testsuite>

৬. JUnit with Parallel Execution

Ant-এর JUnit Task সরাসরি প্যারালেল টেস্টিং সমর্থন করে না, তবে আপনি কিছু কাস্টম Ant স্ক্রিপ্টের মাধ্যমে বা JUnit Parallel Runner ব্যবহার করে প্যারালেল টেস্ট চালানোর ব্যবস্থা করতে পারেন।


সারাংশ

JUnit Task Apache Ant-এ JUnit টেস্টগুলি চালানোর জন্য ব্যবহৃত হয়। এটি JUnit টেস্ট ক্লাস চালানোর জন্য প্রয়োজনীয় classpath সেট আপ করে এবং টেস্ট ফলাফলকে বিভিন্ন ফরম্যাটে আউটপুট হিসেবে প্রদান করে। JUnit Task ব্যবহার করে আপনি একাধিক টেস্ট ক্লাস, স্যুট, টাইমআউট এবং রিপোর্ট ফরম্যাট কাস্টমাইজ করতে পারেন, যা আপনাকে টেস্ট কার্যক্রমকে অটোমেট করতে সাহায্য করে এবং টেস্ট ফলাফল সঠিকভাবে ম্যানেজ করতে সহায়ক।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion