GoogleTest (GTest บางครั้งเรียกว่า "การทดสอบดั้งเดิม") สำหรับแพลตฟอร์มโดยทั่วไปจะเข้าถึง HAL ระดับล่างหรือดำเนินการ IPC แบบดิบกับบริการระบบต่างๆ ด้วยเหตุนี้ วิธีการทดสอบจึงมักจะควบคู่ไปกับบริการที่ทดสอบอย่างแน่นหนา
หากต้องการผสานรวมกับโครงสร้างพื้นฐานการทดสอบอย่างต่อเนื่อง ให้สร้าง GTests ของคุณโดยใช้กรอบงาน GTest
ตัวอย่าง
นี่คือตัวอย่างบางส่วนของ Gtest ในแหล่งที่มาของแพลตฟอร์ม:
สรุปขั้นตอน
หากต้องการรวมการขึ้นต่อกันของ Gtest โดยอัตโนมัติ ให้ใช้กฎการสร้าง
BUILD_NATIVE_TEST
ในการกำหนดค่าโมดูลทดสอบของคุณเขียนการกำหนดค่าการทดสอบ ตามตัวอย่างสำหรับตัวเลือก แบบง่าย และ ซับซ้อน
สร้างโมดูลทดสอบด้วย
mmm
สำหรับบิลด์ส่วนเพิ่ม หรือmma
สำหรับบิลด์เต็ม:make hwui_unit_tests -j
รันการทดสอบในเครื่องโดยใช้ Atest :
atest hwui_unit_tests
คุณยังสามารถเพิ่มอาร์กิวเมนต์ให้กับ GTests ของคุณได้ ต่อไปนี้เป็นข้อโต้แย้งที่เป็นประโยชน์อย่างยิ่ง:
-
native-test-flag
ระบุค่าแฟล็กเพิ่มเติมเพื่อส่งผ่านไปยังคำสั่งเชลล์ Gtest native-test-timeout
ระบุค่าการหมดเวลาการทดสอบในหน่วยไมโครวินาทีรหัสตัวอย่างต่อไปนี้ใช้ทั้งสองอาร์กิวเมนต์เหล่านี้:
atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \ --module-arg test-name:native-test-timeout:60000
-
ดำเนินการทดสอบโดยใช้สายรัดทดสอบของสหพันธ์การค้า:
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