จากงาน Android Dev Summit 2015 นั้น
ได้นั่งดู VDO เรื่อง Android Testing
ซึ่งได้แนะนำเทคนิคที่น่าสนใจเกี่ยวกับการพัฒนา Android app รวมทั้งวิธีการทดสอบ
ดังนั้น มาดูกันหน่อยว่ามีอะไรที่น่าสนใจบ้าง
1. เกี่ยวกับการจัดการ version ของ Library ต่าง ๆ
ทำการประกาศตัวแปรสำหรับกำหนด version ของ library ต่าง ๆ ไว้ในไฟล์ build.gradle ที่ root project ตัวอย่าง [gist id="ae92b71ebf84214dcef2" file="root_build.gradle"] ส่วน module ไหนต้องการใช้งาน หรืออ้างถึงตัวแปรเหล่านี้ ก็ใช้งานผ่าน rootProject.ext.variable_name ได้เลย ตัวอย่าง [gist id="ae92b71ebf84214dcef2" file="app_build.gradle"] น่าจะเห็นข้อดีของการจัดการ version ของ library ต่าง ๆ แล้วนะครับ นั่นคือ จัดการเพียงที่เดียวไงล่ะ สบายกว่าเดิมเยอะ !!2. เกี่ยวกับโครงสร้างของ project สำหรับการทดสอบ
ประกอบไปด้วย folder ต่าง ๆ ดังนี้- androidTest เก็บ Android test เช่นเดิม ซึ่งจำเป็นต้องใช้ Emulator หรือ device จริง ๆ
- androidTestMock เก็บ Android test สำหรับ mock flavor โดยเฉพาะ ซึ่งใช้สำหรับการทดสอบบน Hermetic environment นั่นเอง
- main ใช้เก็บ code หลักของระบบ
- mock ใช้สำหรับการ custom mock flavor นั่นเอง จะมี Injection class เพื่อใช้งานพวก dummy และ fake data แทนระบบจริง
- prod ตรงข้ามกับ mock เลย นั่นคือทำงานบนของจริง
- test เก็บพวก Unit test
3. เกี่ยวกับการทดสอบโดยใช้ความสามารถของ Build Variant กับ Dependency Injection
โดยใน project จะมี Build Variant ดังนี้- mockDebug
- prodDebug
- proRelease
ใครยังไม่เขียน test สำหรับ Android app บ้างนะ ?