ดูรายงานการครอบคลุมของโค้ด

ปลั๊กอิน 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 ที่สร้างขึ้นจะแสดงสรุปภาพรวมของโมดูลทั้งหมด คุณสามารถเจาะลึกจากโมดูลไปยังแพ็กเกจ จากแพ็กเกจไปยังคลาส และจากคลาสไปยังไฟล์ต้นฉบับได้ คลิกไฟล์ใดก็ได้เพื่อดูโค้ดที่มีการไฮไลต์สำหรับความครอบคลุมของบรรทัดและสาขา

  • สีเขียว: เส้นทางที่ครอบคลุม
  • สีแดง: บรรทัดที่ไม่ได้ครอบคลุม
  • สีเหลือง: ครอบคลุมบางส่วน (พลาดคำสั่งหรือกิ่งก้านบางส่วน)