ปลั๊กอิน Android Gradle สามารถสร้างรายงานการครอบคลุมของโค้ดที่ติดตามเปอร์เซ็นต์ของโค้ดที่การทดสอบครอบคลุม หน้านี้จะอธิบายวิธี เปิดใช้การรายงานความครอบคลุมและสร้างรายงาน
คุณสร้างรายงานความครอบคลุมสําหรับการทดสอบแต่ละประเภท (หน่วยและการวัดคุม) ได้ สําหรับแต่ละตัวแปร นอกจากนี้ คุณยังสร้างรายงานความครอบคลุมแบบรวมสำหรับ การทดสอบประเภทต่างๆ โมดูล และตัวแปรบิลด์ได้ด้วย
เปิดใช้การครอบคลุมของโค้ด
คุณต้องเปิดใช้การครอบคลุมของโค้ดโดยตั้งค่า enableAndroidTestCoverage และ
enableUnitTestCoverage เป็น true ในไฟล์บิลด์ระดับโมดูลสำหรับแต่ละ
ตัวแปรที่คุณต้องการรับรายงานการครอบคลุมของโค้ด
Kotlin
android { // ... buildTypes { debug { // Enable coverage for unit tests enableUnitTestCoverage = true // Enable coverage for instrumentation tests enableAndroidTestCoverage = true } } }
Groovy
android { // ... buildTypes { debug { // Enable coverage for unit tests enableUnitTestCoverage true // Enable coverage for instrumentation tests enableAndroidTestCoverage true } } }
เปลี่ยนเวอร์ชัน Jacoco (ไม่บังคับ)
AGP จะใช้ Jacoco โดยอัตโนมัติเมื่อคุณเปิดใช้ความครอบคลุมในโมดูล อย่างไรก็ตาม หากต้องการใช้ Jacoco เวอร์ชันใดเวอร์ชันหนึ่ง คุณสามารถระบุได้ใน ไฟล์บิลด์ระดับโมดูล
Kotlin
android { jacoco { version = "JACOCO_VERSION" } }
Groovy
android { jacoco { version = 'JACOCO_VERSION' } }
สร้างรายงานความครอบคลุมเฉพาะตัวแปร
หากต้องการสร้างรายงานความครอบคลุมสำหรับการทดสอบหน่วยหรือการทดสอบที่มีเครื่องมือควบคุมเท่านั้นสำหรับ ตัวแปรที่เฉพาะเจาะจง ให้เรียกใช้ทาสก์ที่เกี่ยวข้อง
| ประเภทการทดสอบ | คำสั่ง | รายงานตำแหน่ง |
|---|---|---|
| การทดสอบหน่วย | ./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 |
สร้างรายงานการครอบคลุมของโค้ดแบบรวม
คุณสร้างรายงานความครอบคลุมของโค้ดแบบรวมได้โดยใช้ทาสก์ createCoverageReport
และ createAggregatedCoverageReport ของ Gradle คุณสามารถใช้ทาสก์เหล่านี้เพื่อสร้างรายงาน HTML รายการเดียวที่รวมข้อมูลความครอบคลุมจากการทดสอบประเภทต่างๆ (หน่วยและการวัดคุม) โมดูล และตัวแปรบิลด์
ซึ่งจะแสดงมุมมองที่ครอบคลุมของการครอบคลุมของโค้ดของโปรเจ็กต์ในแดชบอร์ดเดียว
สิ่งที่ต้องมีก่อน
- ปลั๊กอิน Android Gradle 9.2.0-alpha07 ขึ้นไป
หากต้องการสร้างรายงานแบบรวม ให้เรียกใช้หนึ่งในงานต่อไปนี้จากบรรทัดคำสั่ง
| ขอบเขตความครอบคลุม | คำสั่ง | คำอธิบาย | รายงานตำแหน่ง |
|---|---|---|---|
| โมดูลปัจจุบัน | ./gradlew :module-name:createCoverageReport |
สร้างรายงานความครอบคลุมแบบรวมสำหรับโมดูลปัจจุบัน โดยผสานรวมข้อมูลจากการทดสอบทุกประเภท | path-to-your-project/module-name/build/reports/code_coverage_html_report/ |
| โมดูลปัจจุบันและการอ้างอิง | ./gradlew :module-name:createAggregatedCoverageReport |
สร้างรายงานความครอบคลุมแบบรวมสำหรับโมดูลปัจจุบันและทรัพยากร Dependency ทั้งหมด งานนี้ใช้ได้กับโมดูลแอปและโมดูลไลบรารีที่เปิดใช้การเผยแพร่ | path-to-your-project/module-name/build/reports/aggregated_code_coverage_html_report/ |
หน้า Landing Page ของรายงาน HTML ที่สร้างขึ้นจะแสดงสรุปภาพรวมของโมดูลทั้งหมด คุณสามารถเจาะลึกจากโมดูลไปยังแพ็กเกจ จากแพ็กเกจไปยังคลาส และจากคลาสไปยังไฟล์ต้นฉบับได้ คลิกไฟล์ใดก็ได้เพื่อดูโค้ดที่มีการไฮไลต์สำหรับความครอบคลุมของบรรทัดและสาขา
- สีเขียว: เส้นทางที่ครอบคลุม
- สีแดง: บรรทัดที่ไม่ได้ครอบคลุม
- สีเหลือง: ครอบคลุมบางส่วน (พลาดคำสั่งหรือกิ่งก้านบางส่วน)