Android Gradle প্লাগ-ইন কোড কভারেজ রিপোর্ট তৈরি করতে পারে যা আপনার টেস্টের মাধ্যমে কভার করা কোডের শতাংশ ট্র্যাক করে। এই পৃষ্ঠায় কভারেজ রিপোর্টিং চালু করা এবং রিপোর্ট তৈরি করার পদ্ধতি বর্ণনা করা হয়েছে।
আপনি প্রতিটি ভেরিয়েন্টের জন্য প্রতিটি টেস্টের ধরন (ইউনিট এবং ইন্সট্রুমেন্টেশন) অনুযায়ী কভারেজ রিপোর্ট তৈরি করতে পারেন। এছাড়াও, আপনি বিভিন্ন টেস্টের ধরন, মডিউল ও বিল্ড ভেরিয়েন্ট জুড়ে ইউনিফায়েড কভারেজ রিপোর্ট তৈরি করতে পারবেন।
কোড কভারেজ চালু করুন
আপনি যে ভেরিয়েন্টের কভারেজ রিপোর্ট পেতে চান, সেটির জন্য মডিউল-লেভেল বিল্ড ফাইলে enableAndroidTestCoverage এবং
enableUnitTestCoverage-কে true-এ সেট করে কোড কভারেজ চালু করতে হবে:
Kotlin
android { // ... buildTypes { debug { // Enable coverage for unit tests enableUnitTestCoverage = true // Enable coverage for instrumentation tests enableAndroidTestCoverage = true } } }
গ্ৰুভি
android { // ... buildTypes { debug { // Enable coverage for unit tests enableUnitTestCoverage true // Enable coverage for instrumentation tests enableAndroidTestCoverage true } } }
Jacoco ভার্সন পরিবর্তন করুন (ঐচ্ছিক)
আপনি মডিউলে কভারেজ চালু করলে, AGP অটোমেটিক Jacoco প্রয়োগ করে। তবে, আপনাকে Jacoco-এর নির্দিষ্ট কোনও ভার্সন ব্যবহার করতে হলে, আপনার মডিউল-লেভেল বিল্ড ফাইলে সেটি উল্লেখ করতে পারেন:
Kotlin
android { testCoverage { jacocoVersion = "JACOCO_VERSION" } }
গ্ৰুভি
android { testCoverage { jacocoVersion = 'JACOCO_VERSION' } }
ভেরিয়েন্ট-নির্দিষ্ট কভারেজ রিপোর্ট তৈরি করা
নির্দিষ্ট ভেরিয়েন্টের জন্য শুধুমাত্র ইউনিট টেস্ট বা শুধুমাত্র ইনস্ট্রুমেন্টেড টেস্টের কভারেজ রিপোর্ট তৈরি করতে, সংশ্লিষ্ট টাস্ক রান করুন।
| টেস্টের ধরন | Command | লোকেশন রিপোর্ট করুন |
|---|---|---|
| ইউনিট টেস্ট | ./gradlew :module-name:createVariantNameUnitTestCoverageReport |
path-to-your-project/module-name/build/reports/coverage/test/variant/index.html |
| ইন্সট্রুমেন্টেড টেস্ট | ./gradlew :module-name:createVariantNameAndroidTestCoverageReport |
path-to-your-project/module-name/build/reports/coverage/androidTest/variant/connected/index.html |
ইউনিফায়েড কোড কভারেজ রিপোর্ট জেনারেট করুন
আপনি testAllSuites
এবং testAllSuitesWithDependencies Gradle টাস্ক ব্যবহার করে ইউনিফায়েড কোড কভারেজ রিপোর্ট তৈরি করতে পারবেন। এইসব টাস্ক একটি
HTML রিপোর্ট তৈরি করবে যা বিভিন্ন টেস্টের ধরন (ইউনিট ও ইন্সট্রুমেন্টেশন), মডিউল ও বিল্ড ভেরিয়েন্ট থেকে
কভারেজ ডেটা একত্রিত করে। এটি একটি ড্যাশবোর্ডে আপনার প্রোজেক্টের কোড কভারেজের একটি
বিস্তারিত ভিউ প্রদান করে।
পূর্বশর্ত
- Android Gradle প্লাগ-ইন 9.5.0-alpha05 বা তার পরবর্তী যেকোনও ভার্সন
- কোড কভারেজ চালু করা
ইউনিফায়েড রিপোর্ট তৈরি করতে, কমান্ড লাইন থেকে নিম্নলিখিত টাস্কের মধ্যে যেকোনও একটি রান করুন:
| কভারেজের স্কোপ | Command | বর্ণনা | লোকেশন রিপোর্ট করুন |
|---|---|---|---|
| বর্তমান মডিউল | ./gradlew :module-name:testAllSuites --continue |
সব টেস্ট স্যুট টেস্ট করে এবং সব ধরনের টেস্ট থেকে ডেটা মার্জ করে বর্তমান মডিউলের জন্য একটি ইউনিফায়েড কভারেজ রিপোর্ট তৈরি করে। | path-to-your-project/module-name/build/reports/testAllSuites/coverage-report/ |
| বর্তমান মডিউল ও ডিপেন্ডেন্সি | ./gradlew :module-name:testAllSuitesWithDependencies --continue |
সব টেস্ট স্যুট টেস্ট করে এবং বর্তমান মডিউল ও এর সব ডিপেন্ডেন্সির জন্য একটি ইউনিফায়েড কভারেজ রিপোর্ট তৈরি করে। এই টাস্ক অ্যাপ মডিউল এবং প্রকাশনা চালু থাকা লাইব্রেরি মডিউলের জন্য উপলভ্য। | path-to-your-project/module-name/build/reports/testAllSuitesWithDependencies/coverage-report/ |
জেনারেট করা HTML রিপোর্ট ল্যান্ডিং পৃষ্ঠা সব মডিউলের একটি হাই-লেভেল সারসংক্ষেপ দেখায়। আপনি মডিউল থেকে প্যাকেজ, প্যাকেজ থেকে ক্লাস এবং ক্লাস থেকে সোর্স ফাইলে ড্রিল ডাউন করতে পারবেন। লাইন ও ব্রাঞ্চ কভারেজের জন্য হাইলাইট করা কোড দেখতে যেকোনও ফাইলে ক্লিক করুন:
- সবুজ: কভার করা লাইন।
- লাল: কভার না করা লাইন।
- হলুদ: আংশিক কভারেজ (কিছু নির্দেশ বা ব্রাঞ্চ মিস হয়েছে)।
ইনস্ট্রুমেন্টেড টেস্টের জন্য অন-ডিভাইস কোড কভারেজ ব্যবহার করুন
ডিফল্ট হিসেবে, AGP আপনার অ্যাপ তৈরি করার সময় JaCoCo-এর মাধ্যমে আপনার অ্যাপের ক্লাস ইনস্ট্রুমেন্ট করে ইনস্ট্রুমেন্টেড টেস্টের কভারেজ পরিমাপ করে। AGP 9.6.0-alpha01 থেকে শুরু করে, আপনি এর পরিবর্তে অন-ডিভাইস ইনস্ট্রুমেন্টেশন ব্যবহার করতে পারেন, যা আপনার টেস্ট রান করার সময় টেস্ট ডিভাইসে আপনার অ্যাপের ক্লাস ইনস্ট্রুমেন্ট করে। আরও তথ্যের জন্য, কোড কভারেজ রিপোর্ট দেখুন (অন-ডিভাইস এজেন্টের সাথে)।