GoogleTest (GTest หรือบางครั้งเรียกว่า "การทดสอบแบบดั้งเดิม") สำหรับแพลตฟอร์ม มักจะเข้าถึง HAL ระดับล่าง หรือทำ IPC ดิบเทียบกับระบบต่างๆ ทั้งหมด ด้วยเหตุนี้ วิธีการทดสอบจึงมักจะเชื่อมโยงกันอย่างเหนียวแน่นกับ บริการอยู่ระหว่างการทดสอบ
สร้าง GTests เพื่อผสานรวมกับโครงสร้างพื้นฐานของการทดสอบอย่างต่อเนื่อง โดยใช้ GTest
ตัวอย่าง
ต่อไปนี้คือตัวอย่างของ GTest ในแหล่งที่มาของแพลตฟอร์ม
สรุปขั้นตอน
โปรดทำตามตัวอย่างการตั้งค่าโมดูล GTest
หากต้องการรวมทรัพยากร Dependency ของ GTest โดยอัตโนมัติ ให้ใช้
BUILD_NATIVE_TEST
กฎบิลด์ในการกำหนดค่าโมดูลทดสอบเขียนการกำหนดค่าการทดสอบตามตัวอย่างแบบง่าย และตัวเลือกที่ซับซ้อน
สร้างโมดูลทดสอบด้วย
mmm
สำหรับบิลด์ที่เพิ่มขึ้น หรือmma
สำหรับเวอร์ชันเต็ม งานสร้าง:make hwui_unit_tests -j
เรียกใช้การทดสอบในเครื่องโดยใช้ Atest:
atest hwui_unit_tests
นอกจากนี้ คุณยังเพิ่มอาร์กิวเมนต์ลงใน GTests ได้ด้วย ต่อไปนี้คืออาร์กิวเมนต์ที่มีประโยชน์อย่างยิ่ง
native-test-flag
ระบุค่า Flag เพิ่มเติมที่จะส่งผ่านไปยังคำสั่ง Shell ของ GTestnative-test-timeout
ระบุค่าระยะหมดเวลาของการทดสอบในหน่วยไมโครวินาทีโค้ดตัวอย่างต่อไปนี้ใช้อาร์กิวเมนต์ทั้ง 2 อย่างนี้
atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \ --module-arg test-name:native-test-timeout:60000
ทำการทดสอบด้วยชุดทดสอบของ Trade Federation โดยทำดังนี้
make tradefed-all -j tradefed.sh run template/local_min --template:map test=hwui_unit_tests
ติดตั้งและเรียกใช้ด้วยตนเอง
พุชไบนารีทดสอบที่สร้างขึ้นลงในอุปกรณ์ด้วยคำสั่งต่อไปนี้
adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \ /data/nativetest/hwui_unit_tests/hwui_unit_tests
เปิด GTest และดำเนินการทดสอบโดยเรียกใช้ไบนารีทดสอบในอุปกรณ์ ดังนี้
adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
ดูข้อมูลเพิ่มเติมเกี่ยวกับการปรับแต่งการเรียกใช้การทดสอบได้โดยเพิ่มพารามิเตอร์
--help
ลงในไบนารีทดสอบ ดูข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์ได้ที่ คู่มือขั้นสูงของ GTest