آمادهسازهای هدف قبل از تستها در سطح تستی که در آن تعریف شدهاند، فراخوانی میشوند. این امر امکان راهاندازی هر دستگاهی را برای اجرای روان تستها فراهم میکند.
رابط پایه
رابط پایه ITargetPreparer است که امکان اجرای متد setUp را فراهم میکند. توصیه میکنیم کلاس انتزاعی پایه خود، BaseTargetPreparer ، را پیادهسازی کنید که یک ویژگی غیرفعالسازی داخلی برای غیرفعال کردن آسان یک آمادهساز ارائه میدهد.
رابط کاربری تمیزتر
افزونهی طبیعی setUp ، tearDown است و توسط رابط کاربری متفاوتی به نام ITargetCleaner ارائه میشود. این رابط کاربری tearDown را فراهم میکند که امکان پاکسازی هر چیزی را که در setUp پس از اجرای تست انجام شده است، فراهم میکند.
کلاس BaseTargetPreparer همچنین ITargetCleaner ارث بری میکند.
توصیهها
توصیه میکنیم هر آمادهساز به یک تابع اصلی واحد محدود شود، مثلاً نصب یک APK یا اجرای یک دستور. این کار امکان استفاده مجدد از آمادهسازها را آسانتر میکند.
همچنین قبل از اضافه کردن یک آمادهساز جدید، لیست آمادهسازهای موجود را بررسی کنید تا از کارهای تکراری جلوگیری شود. آمادهسازها در tools/tradefederation/core/src/com/android/tradefed/targetprep/ موجود هستند.
پیکربندی XML
تگ شیء target_preparer است، برای مثال:
<target_preparer class="com.android.tradefed.targetprep.InstallApkSetup">
<option name="install-arg" value="-d"/>
</target_preparer>
همچنین برای اطلاعات بیشتر به بخش «تنظیمات سوئیتها» مراجعه کنید.
تنظیمات سطح بالا
اگر در یک تنظیم سطح بالا مشخص شده باشد، آمادهساز فقط یک بار برای هر دستگاه اجرا میشود. به عنوان مثال میتوان به cts-common.xml اشاره کرد که یک تنظیم سطح بالا برای تستهای مجموعه تست سازگاری اندروید (CTS) است.
راهاندازی در سطح ماژول
اگر در سطح ماژول مشخص شود، آمادهساز همیشه قبل از آن ماژول اجرا میشود. به عنوان مثال، backup/AndroidTest.xml است که نحوه اجرای ماژول backup CTS توسط Tradefed را تعریف میکند.
توجه داشته باشید که اگرچه آمادهساز قبل از ماژول اجرا میشود، اما پس از هرگونه بررسیکننده وضعیت سیستم نیز اجرا میشود.