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