Apache ANT ব্যবহার করে test reports এবং code coverage রিপোর্ট তৈরি করা একটি সাধারণ প্রক্রিয়া যা আপনার বিল্ড প্রক্রিয়াকে আরও কার্যকরী এবং স্বচ্ছ করে তোলে। এখানে আমরা JUnit টেস্ট রিপোর্ট এবং code coverage রিপোর্ট তৈরি করার জন্য যে টুলগুলো এবং কৌশলগুলো ব্যবহার করা যায়, তা আলোচনা করব।
JUnit টেস্ট রিপোর্ট তৈরি করা ANT-এর মাধ্যমে খুবই সহজ এবং কার্যকরী। আপনি যদি JUnit টেস্ট ব্যবহার করেন, তবে ANT junit
টাস্কটি ব্যবহার করে টেস্ট রিপোর্ট তৈরি করতে সক্ষম হবে।
junit
টাস্ক ব্যবহার করে আপনি টেস্ট চালাতে পারেন এবং রিপোর্ট তৈরি করতে পারেন।<project name="JUnitTestExample" default="run-tests">
<!-- ক্লাসপাথ নির্দিষ্ট করা -->
<path id="test.classpath">
<fileset dir="lib">
<include name="*.jar"/>
</fileset>
</path>
<!-- টার্গেট নির্ধারণ -->
<target name="run-tests">
<junit printsummary="true" haltonerror="yes" haltonfailure="yes">
<classpath refid="test.classpath"/>
<test name="com.example.tests.MyTestClass"/>
<formatter type="xml" usefile="true"/>
</junit>
</target>
</project>
এখানে:
junit
টাস্কটি টেস্ট ক্লাস চালাবে।printsummary="true"
টেস্টের সংক্ষিপ্ত সারাংশ দেখাবে।haltonerror="yes"
এবং haltonfailure="yes"
এর মাধ্যমে যদি কোনো টেস্ট ব্যর্থ হয়, তবে বিল্ড বন্ধ হয়ে যাবে।formatter
ট্যাগটি রিপোর্ট আউটপুট ফরম্যাট নির্ধারণ করে। এখানে XML ফরম্যাটে রিপোর্ট তৈরি করা হচ্ছে।<testsuite errors="0" failures="1" name="MyTestClass" tests="3" time="0.1">
<testcase classname="com.example.tests.MyTestClass" name="testMethod1" time="0.02"/>
<testcase classname="com.example.tests.MyTestClass" name="testMethod2" time="0.03">
<failure message="Expected true but was false"/>
</testcase>
<testcase classname="com.example.tests.MyTestClass" name="testMethod3" time="0.01"/>
</testsuite>
এখানে:
1
failure এবং 0
error রয়েছে।Code Coverage হল একটি মেট্রিক যা কোডের কতটা অংশ টেস্ট করা হয়েছে তা নির্দেশ করে। Apache ANT নিজে থেকে কোড কভারেজ তৈরি করতে পারে না, তবে Cobertura, JaCoCo এবং Emma এর মতো টুলগুলির সাহায্যে এটি করা সম্ভব।
JaCoCo হল একটি জনপ্রিয় কোড কভারেজ টুল যা ANT এর মাধ্যমে ইন্টিগ্রেট করা যায়। নিচে JaCoCo ব্যবহার করে কভারেজ রিপোর্ট তৈরি করার উদাহরণ দেওয়া হল:
lib/
ফোল্ডারে রাখা উচিত।<project name="CodeCoverageExample" default="run-tests-with-coverage">
<!-- ক্লাসপাথ সেটআপ -->
<path id="test.classpath">
<fileset dir="lib">
<include name="jacocoant-0.8.7.jar"/>
<include name="*.jar"/>
</fileset>
</path>
<!-- টাস্কের জন্য JaCoCo কভারেজ রিপোর্ট -->
<target name="run-tests-with-coverage">
<!-- JaCoCo কভারেজ ডেটা সংগ্রহ করা -->
<taskdef name="jacoco" classname="org.jacoco.ant.Task">
<classpath refid="test.classpath"/>
</taskdef>
<!-- JaCoCo টাস্ক চালানো -->
<jacoco>
<exec>
<classpath refid="test.classpath"/>
<junit printsummary="true">
<test name="com.example.tests.MyTestClass"/>
</junit>
</exec>
<!-- কভারেজ রিপোর্ট তৈরি করা -->
<report>
<html destdir="coverage-reports"/>
<xml destfile="coverage-reports/coverage.xml"/>
</report>
</jacoco>
</target>
</project>
এখানে:
taskdef
ব্যবহার করে JaCoCo টাস্ক সংজ্ঞায়িত করা হয়েছে।<exec>
টাস্কটি টেস্ট চালাবে এবং কভারেজ ডেটা সংগ্রহ করবে।<report>
টাস্কটি কভারেজ রিপোর্ট তৈরি করবে। html
ফরম্যাটে রিপোর্ট একটি নির্দিষ্ট ডিরেক্টরিতে এবং xml
ফরম্যাটে অন্য একটি ফাইল তৈরি হবে।JaCoCo HTML রিপোর্ট দেখতে নিচের মতো আউটপুট পেতে পারেন:
File Structure:
coverage-reports/
index.html --> কভারেজ রিপোর্টের মূল পৃষ্ঠা
...
<coverage branchRate="0.5" lineRate="0.8">
<package name="com.example.tests">
<class name="MyTestClass" lineRate="0.9" branchRate="0.75">
<method name="testMethod1" desc="()V" line="10" />
<method name="testMethod2" desc="()V" line="20" />
<!-- আরও মেথড ও লাইন তথ্য -->
</class>
</package>
</coverage>
এখানে:
Emma হল আরেকটি টুল যা ANT এর মাধ্যমে কোড কভারেজ রিপোর্ট তৈরি করতে ব্যবহৃত হয়। এটি JaCoCo-এর মতো একইভাবে কাজ করে তবে কনফিগারেশন এবং রিপোর্ট ফরম্যাট কিছুটা আলাদা।
<project name="EmmaCoverageExample" default="run-tests-with-coverage">
<taskdef name="emma" classname="com.vladium.emma.ant.Task" classpath="path_to_emma_libs"/>
<target name="run-tests-with-coverage">
<emma enabled="true" action="coverage">
<junit printsummary="true">
<test name="com.example.tests.MyTestClass"/>
</junit>
</emma>
<emma enabled="true" action="report" destfile="coverage-report">
<html/>
</emma>
</target>
</project>
এখানে:
emma
টাস্কটি Emma টুলের সাহায্যে কোড কভারেজ রিপোর্ট তৈরি করবে।action="coverage"
কোড কভারেজ ডেটা সংগ্রহ করবে।action="report"
রিপোর্ট তৈরি করবে, যেখানে html
ফরম্যাটে রিপোর্ট তৈরি হবে।Apache ANT ব্যবহার করে আপনি JUnit টেস্ট রিপোর্ট এবং code coverage রিপোর্ট তৈরি করতে পারেন। JUnit টাস্ক ব্যবহার করে সহজেই টেস্ট রিপোর্ট তৈরি করা যায়, যেখানে JaCoCo বা Emma টুলের মাধ্যমে কোড কভারেজ রিপোর্ট তৈরি করা সম্ভব। JaCoCo একটি জনপ্রিয় টুল যা ANT-এর সাথে সহজে ইন্টিগ্রেট করা যায় এবং এটি HTML ও XML ফরম্যাটে কভারেজ রিপোর্ট তৈরি করতে সাহায্য করে।
common.read_more