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

آموزش Robolectric-قسمت هفتم: استفاده از Qualified Resourceها

Robolectric Tool
Robolectric Tool

همانطور که در Android Developer Doc توضیح داده شده است، Resource Qualifierها به شما اجازه می‌دهند تا چگونگی بارگذاری Resourceهای خود را بر اساس فاکتورهایی از قبیل زبان روی دستگاه، سایز صفحه، و اینکه روز است یا شب تغییر دهید. علیرغم اینکه این تغییرات اغلب برای تست دقیق خسته‌کننده هستند(هر رشته برای تمام زبان‌ها تمام پشتیبانی شده یک ترجمه دارد)، اما ممکن است خود شما هم بخواهید تا تست‌ها را در زمینه‌های مناسب Resourceهای مختلف اجرا کنید.

تعیین Resourceها در تست
تعریف Resource Qualifier بسیار ساده است: Qualifierهای مطلوب خود را(بسته به اینکه می‌خواهید Resource Qualifierها را برای کل فایل تغییر دهید یا برای یک تست) به سادگی با حاشیه‌نویسی ‘Config@’ به Test Caseیا Test Class بیفزایید.

با توجه به منابع زیر

values ​​/ strings.xml

<string name="not_overridden">Not Overridden</string>
<string name="overridden">Unqualified value</string>
<string name="overridden_twice">Unqualified value</string>

values-en/strings.xml

<string name="overridden">English qualified value</string>
<string name="overridden_twice">English qualified value</string>

values-en-port/strings.xml

<string name="overridden_twice">English portrait qualified value</string>

این تست Robolectric، با استفاده از قوانین Android Resource Qualifier Resolution پاس خواهد شد.

@Test
@Config(qualifiers="en-port")
public void shouldUseEnglishAndPortraitResources() {
  final Context context = RuntimeEnvironment.application;
  assertThat(context.getString(R.id.not_overridden)).isEqualTo("Not Overridden");
  assertThat(context.getString(R.id.overridden)).isEqualTo("English qualified value");
  assertThat(context.getString(R.id.overridden_twice)).isEqualTo("English portrait qualified value");
}

Qualifierهای متعدد باید با یک رشته ‘-‘(دَش) از هم جدا شده و به ترتیب مطروحه در این فهرست ارائه شده‌اند.

 

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

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

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

Selenium

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

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

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

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