Kể từ ngày 27 tháng 3 năm 2025, bạn nên sử dụng android-latest-release
thay vì aosp-main
để xây dựng và đóng góp cho AOSP. Để biết thêm thông tin, hãy xem phần Thay đổi đối với AOSP.
GoogleTest
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
GoogleTest (GTest, đôi khi còn 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ô trên 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:
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 vào, hãy sử dụng quy tắc bản 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 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ặc mma
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:
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 tham số, hãy tham khảo hướng dẫn nâng cao về GTest.
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-27 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-07-27 UTC."],[],[],null,["# GoogleTest\n\nA GoogleTest (GTest, also sometimes called \"native tests\") for the platform\ntypically accesses lower-level HALs or performs raw IPC against various system\nservices. Because of this, the testing approach is usually tightly coupled with\nthe service under test.\n\nTo integrate with continuous testing infrastructure, build your GTests\nusing the [GTest](https://github.com/google/googletest)\nframework.\n\nExamples\n--------\n\nHere are some examples of GTest in the platform source:\n\n- [frameworks/av/camera/tests](https://android.googlesource.com/platform/frameworks/av/+/android16-release/camera/tests/)\n- [frameworks/native/libs/gui/tests](https://android.googlesource.com/platform/frameworks/native/+/android16-release/libs/gui/tests/)\n\nSummary of steps\n----------------\n\n1. Follow the [example GTest module setup](https://android.googlesource.com/platform/frameworks/base/+/android16-release/libs/hwui/tests/unit/).\n\n2. To automatically include GTest dependencies, use the `BUILD_NATIVE_TEST`\n build rule in your test module configuration.\n\n3. Write a test configuration, following the examples for [simple](/docs/core/tests/development/blueprints)\n and [complex](/docs/core/tests/development/test-config) options.\n\n4. Build the test module with `mmm` for incremental builds, or `mma` for full\n builds:\n\n make hwui_unit_tests -j\n\n5. Run the test locally using [Atest](/docs/core/tests/development/atest):\n\n atest hwui_unit_tests\n\n You can also add arguments to your GTests. The following are especially useful arguments:\n - `native-test-flag` specifies additional flag values to pass to the GTest shell command.\n - `native-test-timeout` specifies a test timeout value in microseconds.\n\n The following example code uses both of these arguments: \n\n atest test-name -- --module-arg test-name:native-test-flag:\"\\\"argument1 argument2\\\"\" \\\n --module-arg test-name:native-test-timeout:60000\n\n6. Run the test with the Trade Federation test harness:\n\n make tradefed-all -j\n tradefed.sh run template/local_min --template:map test=hwui_unit_tests\n\n7. Manually install and run:\n\n 1. Push the generated test binary onto your device:\n\n adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \\\n /data/nativetest/hwui_unit_tests/hwui_unit_tests\n\n 2. Launch GTest and execute the test by invoking the test binary on the device:\n\n adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests\n\n For more information about customizing test execution, add the `--help`\n parameter to your test binary. For more information on parameters, refer to\n the [GTest advanced guide](https://github.com/google/googletest/blob/master/googletest/docs/advanced.md)."]]