طرح نوشتن خود را تست کنید

رابط کاربری برنامه خود را آزمایش کنید تا بررسی کنید که رفتار کد نوشتن شما درست است. این به شما امکان می دهد خطاها را زودتر تشخیص دهید و کیفیت برنامه خود را بهبود ببخشید.

Compose مجموعه‌ای از APIهای آزمایشی را برای یافتن عناصر، تأیید ویژگی‌های آنها و انجام اقدامات کاربر ارائه می‌کند. API ها همچنین شامل ویژگی های پیشرفته ای مانند دستکاری زمان هستند. از این APIها برای ایجاد تست های قوی که رفتار برنامه شما را تأیید می کند، استفاده کنید.

بازدیدها

اگر به جای نوشتن با view ها کار می کنید، بخش تست برنامه های عمومی در Android را ببینید.

به طور خاص، یک مکان خوب برای شروع، راهنمای تست های خودکار رابط کاربری است. این نشان می‌دهد که چگونه می‌توانید آزمایش‌هایی را که روی دستگاه اجرا می‌شوند، از جمله هنگام استفاده از نماها، خودکار کنید.

مفاهیم کلیدی

در زیر برخی از مفاهیم کلیدی برای آزمایش کد Compose شما آورده شده است.

  • Semantics : تست‌های Compose با استفاده از semantics با UI تعامل می‌کنند، که به قطعاتی از UI معنا می‌بخشد و در کنار سلسله مراتب UI ایجاد می‌شود.
  • تست API ها : Compose API های آزمایشی را برای یافتن عناصر، اظهار نظر در مورد وضعیت و ویژگی های آنها و انجام اقداماتی برای شبیه سازی تعاملات کاربر ارائه می دهد.
  • همگام‌سازی : به‌طور پیش‌فرض، آزمون‌های Compose به‌طور خودکار با رابط کاربری همگام‌سازی می‌شوند و قبل از اظهارنظر یا انجام اقدامات منتظر می‌مانند تا بی‌حرکت بماند.
  • قابلیت همکاری : در برنامه های ترکیبی، تست ها می توانند به طور یکپارچه با عناصر Compose و View-based تعامل داشته باشند و با سایر چارچوب های آزمایشی ادغام شوند.

تست چیت شیت

برای مروری بر تمام موضوعات کلیدی که باید در مورد تست کردن در Compose یاد بگیرید، برگه تقلب آزمایشی را ببینید.

راه اندازی

برنامه خود را طوری تنظیم کنید که بتوانید کد نوشتن را آزمایش کنید.

ابتدا، وابستگی های زیر را به فایل build.gradle ماژول حاوی تست های رابط کاربری خود اضافه کنید:

// Test rules and transitive dependencies:
androidTestImplementation("androidx.compose.ui:ui-test-junit4:$compose_version")
// Needed for createComposeRule(), but not for createAndroidComposeRule<YourActivity>():
debugImplementation("androidx.compose.ui:ui-test-manifest:$compose_version")

این ماژول شامل یک ComposeTestRule و یک پیاده سازی برای اندروید به نام AndroidComposeTestRule است. از طریق این قانون می توانید Compose content را تنظیم کنید یا به فعالیت دسترسی داشته باشید. قوانین را با استفاده از توابع کارخانه ایجاد می کنید، یا createComposeRule یا در صورت نیاز به دسترسی به یک فعالیت، createAndroidComposeRule . یک تست UI معمولی برای Compose به شکل زیر است:

// file: app/src/androidTest/java/com/package/MyComposeTest.kt

class MyComposeTest {

    @get:Rule val composeTestRule = createComposeRule()
    // use createAndroidComposeRule<YourActivity>() if you need access to
    // an activity

    @Test
    fun myTest() {
        // Start the app
        composeTestRule.setContent {
            MyAppTheme {
                MainScreen(uiState = fakeUiState, /*...*/)
            }
        }

        composeTestRule.onNodeWithText("Continue").performClick()

        composeTestRule.onNodeWithText("Welcome").assertIsDisplayed()
    }
}

منابع اضافی

  • آزمایش برنامه ها در اندروید : صفحه اصلی آزمایش اندروید نمای وسیع تری از اصول و تکنیک های آزمایش ارائه می دهد.
  • اصول آزمایش : درباره مفاهیم اصلی آزمایش یک برنامه اندروید بیشتر بدانید.
  • تست های محلی : می توانید برخی از آزمایش ها را به صورت محلی، در ایستگاه کاری خود اجرا کنید.
  • تست‌های ابزاری : اجرای تست‌های ابزاری نیز تمرین خوبی است. یعنی تست هایی که مستقیماً روی دستگاه اجرا می شوند.
  • ادغام مداوم : ادغام مداوم به شما امکان می دهد آزمایشات خود را در خط لوله استقرار خود ادغام کنید.
  • اندازه‌های مختلف صفحه نمایش را آزمایش کنید : با دستگاه‌های زیادی که در دسترس کاربران است، باید اندازه‌های مختلف صفحه نمایش را آزمایش کنید.
  • اسپرسو : در حالی که برای UI های مبتنی بر View در نظر گرفته شده است، دانش اسپرسو همچنان می تواند برای برخی از جنبه های تست Compose مفید باشد.

Codelab

برای کسب اطلاعات بیشتر، آزمایشگاه کدنویسی Jetpack Compose Testing را امتحان کنید.

نمونه ها

{% کلمه به کلمه %} {% آخر کلمه %} {% کلمه به کلمه %} {% آخر کلمه %}