GoogleTest (GTest, đôi khi còn được gọi là "kiểm thử gốc") cho nền tảng này thường truy cập vào các HAL cấp thấp hơn hoặc thực hiện IPC thô đối với nhiều dịch vụ hệ thống. Do đó, phương pháp kiểm thử thường được ghép nối chặt chẽ với dịch vụ đang được kiểm thử.
Để tích hợp với hạ tầng kiểm thử liên tục, hãy tạo GTests bằng khung GTest.
Ví dụ
Sau đây là một số ví dụ về GTest trong nguồn nền tảng:
- frameworks/av/camera/tests (khung hiển thị/av/máy ảnh/kiểm thử)
- frameworks/native/libs/gui/tests
Tóm tắt các bước
Làm theo ví dụ về cách thiết lập mô-đun GTest.
Để tự động đưa các phần phụ thuộc GTest, hãy sử dụng quy tắc xây dựng
BUILD_NATIVE_TEST
trong cấu hình mô-đun kiểm thử.Viết cấu hình kiểm thử, làm theo các ví dụ cho các tuỳ chọn đơn giản và phức tạp.
Tạo mô-đun kiểm thử bằng
mmm
cho các bản dựng gia tăng hoặcmma
cho các bản dựng đầy đủ:make hwui_unit_tests -j
Chạy kiểm thử cục bộ bằng Atest:
atest hwui_unit_tests
Bạn cũng có thể thêm đối số vào GTests. Sau đây là các đối số đặc biệt hữu ích:
native-test-flag
chỉ định các giá trị cờ bổ sung để truyền đến lệnh shell GTest.native-test-timeout
chỉ định giá trị thời gian chờ kiểm thử tính bằng micro giây.Mã ví dụ sau đây sử dụng cả hai đối số này:
atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \ --module-arg test-name:native-test-timeout:60000
Chạy kiểm thử bằng bộ kiểm thử Liên minh thương mại:
make tradefed-all -j tradefed.sh run template/local_min --template:map test=hwui_unit_tests
Cài đặt và chạy theo cách thủ công:
Đẩy tệp nhị phân kiểm thử đã tạo vào thiết bị của bạn:
adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \ /data/nativetest/hwui_unit_tests/hwui_unit_tests
Chạy GTest và thực thi kiểm thử bằng cách gọi tệp nhị phân kiểm thử trên thiết bị:
adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
Để biết thêm thông tin về cách tuỳ chỉnh quá trình thực thi kiểm thử, hãy thêm tham số
--help
vào tệp nhị phân kiểm thử. Để biết thêm thông tin về các thông số, hãy tham khảo hướng dẫn nâng cao về GTest.