اعتبارًا من 27 آذار (مارس) 2025، ننصحك باستخدام android-latest-release
بدلاً من aosp-main
لإنشاء AOSP والمساهمة فيه. لمزيد من المعلومات، يُرجى الاطّلاع على التغييرات في AOSP.
GoogleTest
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
إنّ اختبار 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. في ما يلي الوسيطات المفيدة بشكل خاص:
يمكنك إجراء الاختبار باستخدام حِزمة اختبار Trade Federation:
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.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],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)."]]