JaCoCo Plugin ব্যবহার করে Code Coverage রিপোর্ট তৈরি করা

Maven এর সাথে Code Coverage এবং Reporting - ম্যাভেন (Maven) - Java Technologies

290

JaCoCo (Java Code Coverage) হলো একটি Java কোড কভারেজ টুল, যা প্রোজেক্টে পরীক্ষার কোডের কার্যকারিতা পরিমাপ করতে সহায়তা করে। এটি একটি ওপেন সোর্স লাইব্রেরি যা মেভেন (Maven) প্রোজেক্টে অন্তর্ভুক্ত করা যায় এবং টেস্ট রান করার সময় কোড কভারেজ তথ্য জেনারেট করে।

JaCoCo Plugin ব্যবহার করে আপনি আপনার প্রোজেক্টের কোড কভারেজ সম্পর্কিত রিপোর্ট তৈরি করতে পারেন, যা আপনাকে আপনার টেস্ট কভারেজের গুণগত মান এবং পুরো কোডবেসের টেস্টিং কাভারেজ সম্পর্কে তথ্য প্রদান করবে।

JaCoCo Plugin ইনস্টলেশন এবং কনফিগারেশন

JaCoCo Maven প্লাগইন আপনার pom.xml ফাইলে যুক্ত করতে হবে। এটি মেভেন বিল্ড লাইফসাইকেলে অন্তর্ভুক্ত হয়ে থাকে এবং কোড কভারেজ রিপোর্ট তৈরি করে। নিচে এই প্লাগইন কনফিগার করার জন্য প্রাথমিক স্টেপগুলি দেওয়া হলো।

১. JaCoCo Plugin পম (POM) ফাইলে অন্তর্ভুক্ত করা

আপনি আপনার প্রোজেক্টের pom.xml ফাইলে JaCoCo Plugin এর ডিপেনডেন্সি যোগ করতে পারেন। এটি build সেকশনে প্লাগইন হিসেবে কনফিগার করা হবে।

<build>
    <plugins>
        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.8.7</version> <!-- JaCoCo Plugin এর সংস্করণ -->
            <executions>
                <execution>
                    <phase>test</phase> <!-- টেস্ট রান হওয়ার সময় JaCoCo রিপোর্ট তৈরি করবে -->
                    <goals>
                        <goal>prepare-agent</goal> <!-- কোড কভারেজের জন্য JaCoCo এজেন্ট প্রিপেয়ার করবে -->
                        <goal>report</goal> <!-- রিপোর্ট তৈরি করবে -->
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

এখানে:

  • prepare-agent: এটি JaCoCo এজেন্ট রান করার জন্য ব্যবহার করা হয় এবং টেস্টের সময় কোড কভারেজ ডাটা সংগ্রহ করে।
  • report: এটি টেস্ট রান করার পরে কোড কভারেজ রিপোর্ট তৈরি করে।

২. JaCoCo রিপোর্ট তৈরি করা

Maven এর test ফেজ চলানোর সময় JaCoCo টেস্ট কভারেজ রিপোর্ট তৈরি করবে। এটি JaCoCo.exec নামে একটি ফাইল তৈরি করে যা আপনার কোড কভারেজের ডাটা ধারণ করে। আপনি এই রিপোর্টটি HTML, XML বা CSV ফরম্যাটে তৈরি করতে পারেন।

mvn clean test

এই কমান্ড চালানোর পরে, JaCoCo প্লাগইন আপনার টেস্ট রান করার সময় কোড কভারেজ ডাটা সংগ্রহ করবে এবং একটি HTML রিপোর্ট তৈরি করবে।

৩. JaCoCo রিপোর্টের আউটপুট

আপনার পম ফাইলের কনফিগারেশন অনুযায়ী, JaCoCo রিপোর্ট সাধারণত target/site/jacoco/index.html ফাইলে আউটপুট হিসেবে তৈরি হবে। এই ফাইলটি আপনার কোড কভারেজ সম্পর্কিত তথ্য সরবরাহ করবে, যেমন:

  • কভারেজের শতাংশ
  • কোন লাইনের জন্য টেস্টিং করা হয়েছে এবং কোন লাইনে টেস্টিং হয়নি
  • প্যাকেজ, ক্লাস এবং মেথড স্তরের কভারেজ রিপোর্ট

৪. JaCoCo কভারেজ রিপোর্ট কাস্টমাইজেশন

আপনি রিপোর্ট আউটপুটের ধরন কাস্টমাইজ করতে পারেন (যেমন HTML, XML, বা CSV)। এই কনফিগারেশনটি reporting অংশে করা হয়। উদাহরণস্বরূপ, আপনি HTML ফরম্যাটে কভারেজ রিপোর্ট চান:

<build>
    <plugins>
        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.8.7</version>
            <executions>
                <execution>
                    <phase>test</phase>
                    <goals>
                        <goal>prepare-agent</goal>
                        <goal>report</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <outputDirectory>${project.build.directory}/jacoco-report</outputDirectory>
                <reports>
                    <report>html</report> <!-- HTML ফরম্যাটে রিপোর্ট তৈরি করবে -->
                </reports>
            </configuration>
        </plugin>
    </plugins>
</build>

এখানে:

  • outputDirectory: রিপোর্ট কোথায় আউটপুট হবে তা নির্ধারণ করা হয়েছে।
  • reports: এখানে html ফরম্যাটে রিপোর্ট তৈরি করার জন্য কনফিগার করা হয়েছে।

৫. JaCoCo এর Coverage রিপোর্ট দেখতে

টেস্ট রান করার পরে target/site/jacoco/index.html ফাইলটি ব্রাউজারে ওপেন করুন, যেখানে আপনি সমস্ত কভারেজ ডাটা এবং ফাইল, ক্লাস, মেথড স্তরের কভারেজ বিশদভাবে দেখতে পাবেন।

সারাংশ

JaCoCo প্লাগইন ব্যবহার করে Maven এ কোড কভারেজ রিপোর্ট তৈরি করা সহজ। এটি prepare-agent এবং report goals দিয়ে কাজ করে, যেখানে prepare-agent টেস্ট রান করার সময় কোড কভারেজ ডাটা সংগ্রহ করে এবং report goal সেই ডাটা থেকে রিপোর্ট তৈরি করে। আপনি HTML, XML বা CSV ফরম্যাটে রিপোর্ট তৈরি করতে পারেন এবং রিপোর্টের আউটপুট লোকেশন কাস্টমাইজ করতে পারেন।

JaCoCo প্লাগইন আপনাকে আপনার প্রোজেক্টে টেস্ট কভারেজ মনিটর করতে সাহায্য করে, যা কোডের মান উন্নত করতে এবং যেকোনো কাভারেজ গ্যাপ খুঁজে বের করতে সহায়ক।

Content added By
Promotion

Are you sure to start over?

Loading...