JaCoCo (Java Code Coverage) এবং EasyMock উভয়ই জাভা প্রোগ্রামিং ভাষায় জনপ্রিয় টুল। JaCoCo কোড কাভারেজ মাপার জন্য ব্যবহৃত হয় এবং EasyMock মক অবজেক্ট তৈরি করার জন্য ব্যবহৃত হয়, বিশেষত ইউনিট টেস্টিংয়ের জন্য। EasyMock কে JaCoCo এর সাথে ইন্টিগ্রেট করা হলে, আপনি কোড কাভারেজ দেখতে পারবেন এমনকি যখন আপনি মক অবজেক্টের সাথে টেস্ট করছেন।
JaCoCo এবং EasyMock Integration এর জন্য পদ্ধতি:
Maven Dependency যোগ করা:
প্রথমে, আপনার
pom.xmlফাইলে JaCoCo এবং EasyMock এর জন্য প্রয়োজনীয় ডিপেনডেন্সি যোগ করুন।<dependencies> <!-- EasyMock Dependency --> <dependency> <groupId>org.easymock</groupId> <artifactId>easymock</artifactId> <version>5.1</version> <scope>test</scope> </dependency> <!-- JaCoCo Dependency (for code coverage) --> <dependency> <groupId>org.jacoco</groupId> <artifactId>jacoco-agent</artifactId> <version>0.8.8</version> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <!-- JaCoCo plugin to generate code coverage report --> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.8.8</version> <executions> <execution> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <goals> <goal>report</goal> </goals> </execution> </executions> </plugin> </plugins> </build>Test Class Example (EasyMock + JaCoCo):
এখন, আপনি EasyMock ব্যবহার করে মক অবজেক্ট তৈরি করতে পারেন এবং সেই টেস্টের কাভারেজ পরিমাপ করতে JaCoCo ব্যবহার করবেন।
import static org.easymock.EasyMock.*; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.*; public class MyTestClass { private MyService mockService; @Before public void setUp() { // EasyMock মক অবজেক্ট তৈরি mockService = createMock(MyService.class); } @Test public void testMockServiceMethod() { // EasyMock দিয়ে মক অবজেক্টে প্রত্যাশিত আচরণ নির্ধারণ expect(mockService.getData()).andReturn("Mocked Data"); // EasyMock replay শুরু replay(mockService); // টেস্ট কোড String result = mockService.getData(); assertEquals("Mocked Data", result); // EasyMock verify verify(mockService); } }কাভারেজ রিপোর্ট তৈরি করা:
যখন আপনি Maven কমান্ড
mvn testচালাবেন, JaCoCo টেস্ট রান করার সময় কোড কাভারেজ বিশ্লেষণ করবে এবং একটি রিপোর্ট তৈরি করবে। রিপোর্টটি সাধারণতtarget/site/jacoco/index.htmlফাইলে থাকবে।mvn testএই রিপোর্টে, আপনি দেখতে পারবেন কোন কোড অংশ টেস্ট হয়েছে এবং কোন অংশ কাভারেজ পাওয়া যায়নি।
- JaCoCo এবং EasyMock কোড কাভারেজ মাপার পদ্ধতি:
- EasyMock ব্যবহার করে মক অবজেক্ট তৈরির ফলে সরাসরি কোড লাইনে কোনো কার্যকরী পরিবর্তন হয় না। তবে, JaCoCo এই মক অবজেক্টের ব্যবহারের পরেও কাভারেজ মাপবে।
- আপনি যদি EasyMock দিয়ে কিছু মেথড মক করেন এবং সেগুলোর জন্য কাভারেজ মাপতে চান, তবে JaCoCo সেই কোড লাইনের কাভারেজ ট্র্যাক করবে।
JaCoCo এবং EasyMock একসাথে ব্যবহার করার মাধ্যমে আপনি টেস্টিংয়ের সময় মক অবজেক্টের মাধ্যমে সঠিকভাবে কোড কাভারেজ পরিমাপ করতে পারবেন। EasyMock মক অবজেক্ট তৈরি করতে সাহায্য করবে, আর JaCoCo সেই কোডের কাভারেজ মাপবে, যা ইউনিট টেস্টের জন্য উপকারী।
Read more