Screen Shot 2558-05-27 at 10.36.51 AM
หลังจากที่อธิบาย การเขียน unit test
สำหรับการพัฒนา Android application ไปแล้ว
ดังนั้น ใน blog นี้มาดูกันหน่อยว่า
unit test ที่เขียนไปนั้น มันครอบคลุม source code ส่วนต่างๆ มากน้อยเพียงใด
หรือเรียกว่า Code coverage
เพื่อใช้ในการปรับปรุงคุณภาพของ test
และเพิ่มความมั่นใจของ source code และระบบนั่นเอง

Software requirement

  • Android studio 1.2
  • Gradle
  • JaCoCo

ขั้นตอนการใช้งานเป็นดังนี้

1. ทำการแก้ไขไฟล์ build.gradle
เพื่อเปิด code coverage ในขั้นตอนการ build ของ gradle ดังนี้

2. จากนั้นทำการเพิ่ม plugin jacoco เข้าไป
พร้อมกับระบุ version ที่ใช้งาน และ folder ของ source code ดังนี้

3. ทำการสร้าง task ใน gradle สำหรับการสร้างรายงานของ jacoco กันหน่อย
ส่วนใหญ่เราจะต้องกำหนดว่า
Class ที่จะนำมาสร้างรายงาน
Class ที่ไม่ต้องการ (exclude)
กำหนดไฟล์เก็บผลการทำงานของ jacoco
ชนิดของรายงานที่ต้องการสร้าง เช่น html และ xml

4. เมื่อทุกอย่างเรียบร้อยแล้ว มาลอง run กันดีกว่า
อย่าลืม sync gradle นะครับ
จากนั้นให้ทำการ run ผ่าน terminal ดังนี้

$./gradlew clean assemble
$./gradlew jacocoTestReport

ผลการทำงานเป็นดังนี้

ส่วนรายงานที่ได้มานั้นจะอยู่ใน folder app/build/reports/jacoco/jacocoTestReport/ ดังรูป
Screen Shot 2558-05-27 at 9.12.19 AM

เพียงเท่านี้เราก็สามารถสร้างรายงาน Code coverage
ของ Android application ได้แล้วนะครับ
ลองนำไปใช้เพื่อปรับปรุงคุณภาพของ test ที่คุณเขียนขึ้นมากันนะ

ที่สำคัญสามารถนำไปใส่ไว้ในระบบ Continuous Integration ได้อีกด้วย