از 27 مارس 2025، توصیه می کنیم از android-latest-release
به جای aosp-main
برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
گوگل تست
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
یک GoogleTest (GTest، که گاهی اوقات "تستهای بومی" نیز نامیده میشود) برای پلتفرم معمولاً به HALهای سطح پایینتر دسترسی دارد یا IPC خام را در برابر سرویسهای مختلف سیستم انجام میدهد. به همین دلیل، رویکرد آزمایش معمولاً با سرویس تحت آزمایش همراه است.
برای ادغام با زیرساخت آزمایش مداوم، GTest های خود را با استفاده از چارچوب GTest بسازید.
نمونه ها
در اینجا چند نمونه از GTest در منبع پلتفرم آورده شده است:
خلاصه مراحل
نمونه راه اندازی ماژول GTest را دنبال کنید.
برای گنجاندن خودکار وابستگیهای GTest، از قانون ساخت BUILD_NATIVE_TEST
در پیکربندی ماژول آزمایشی خود استفاده کنید.
با دنبال کردن مثالهای گزینههای ساده و پیچیده ، یک پیکربندی آزمایشی بنویسید.
ماژول تست را با mmm
برای ساخت های افزایشی یا mma
برای ساخت های کامل بسازید:
make hwui_unit_tests -j
تست را به صورت محلی با استفاده از Atest اجرا کنید:
atest hwui_unit_tests
همچنین می توانید آرگومان هایی را به GTests خود اضافه کنید. به ویژه استدلال های زیر مفید هستند:
تست را با مهار تست فدراسیون تجارت انجام دهید:
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 مراجعه کنید.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی."],[],[],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)."]]