یکشنبه , ۹ اردیبهشت ۱۴۰۳

آموزش Robolectric-قسمت یازدهم: یکپارچه‌سازی Build System

Robolectric Tool
Robolectric Tool

با آغاز به کار Robolectric 3.3، این Test Runner روی Classpath به دنبال فایلی با نام ‘com/android/tools/test_config.properties/’ خواهد گشت. اگر فایل مربوطه را پیدا کرد، برای آماده‌سازی Manifest، Resource، و Asset Locationهای تست استفاده می‌شود؛ و البته این بدون نیاز به تعیین در تست‌های شما به یکی از دو شکل زیر است:

‘@Config(constants=BuildConfig.class)’

‘@Config(manifest=”…”, res=”…”, assets=”…”)’

این به پیاده‌سازان Build System توانایی می‌دهد تا پردازش Manifest، Asset و Resource را انجام داده و تست‌ها را با استفاده از همان استراتژی که در زمان Build کردن APK(به جای ترک آن به Robolectric) اِعمال می‌شد، ترکیب(Merg) نمایند.

این موضوع پشتیبانی Robolectric برای Merg کردن چندین Library تعیین شده توسط

‘@Config(libraries = {“lib1”, “lib2”})’

و نیز پشتیبانی ‘project.properties’ از پروژه‌های Legacy با موضوع Eclipse ADT را جایگزین می‌کند.

کلیدها در این فایل عبارتند از:

  • ‘android_merged_manifest’: مسیر کامل برای فایل ترکیب شده پروژه به نام ‘AndroidManifest.xml’
  • ‘android_merged_resources’: مسیر کامل برای Resourceهای ترکیب شده پروژه
  • ‘android_merged_assets’: مسیر کامل برای Assetهای ترکیب شده پروژه
  • ‘android_custom_package’: که Java Packagname برای کلاس R اپلیکیشن‌هاست
  • ‘android_resource_apk’: مسیر برای یک resources.ap_ file که مشتمل بر Resourceهای باینری و فایل‌های XML تولید شده بوسیله ابزار ‘aapt’ و نیز Assetهای ترکیب شده است

توجه داشته باشید که Robolectric انتظار دارد که Build Systemها Final R.class Generation را بوسیله Time Unit Testها اجرا کنند.

برای پشتیبانی از منابع ترکیبی خام:

android_merged_assets=/some/path/MyApp/app/build/intermediates/assets/debug
android_merged_resources=/some/path/MyApp/app/build/intermediates/res/merged/debug
android_merged_manifest=/some/path/MyApp/app/build/intermediates/manifests/full/debug/AndroidManifest.xml
android_custom_package=com.example.app

برای پشتیبانی از Binary Resource:

android_resource_apk=/some/path/to/app/resources.ap_

تمام قسمت‌های آموزش Robolectric، به صورت دسته‌بندی شده از اینجا نیز در دسترس است.

ابوالفضل خواجه دیزجی

همچنین ببینید

Selenium

آموزش Selenium-قسمت هفدهم: Mouse Click Event و Keyboard Event و موضوع Action Class در Selenium WebDriver

در این بخش، ما رویداد کیبورد(Keyboard Event) و ماوس(Mouse Event) را در Selenium Webdriver آموزش …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *