رابط کاربری برنامه خود را آزمایش کنید تا بررسی کنید که رفتار کد نوشتن شما درست است. این به شما امکان می دهد خطاها را زودتر تشخیص دهید و کیفیت برنامه خود را بهبود ببخشید.
Compose مجموعهای از APIهای آزمایشی را برای یافتن عناصر، تأیید ویژگیهای آنها و انجام اقدامات کاربر ارائه میکند. API ها همچنین شامل ویژگی های پیشرفته ای مانند دستکاری زمان هستند. از این APIها برای ایجاد تست های قوی که رفتار برنامه شما را تأیید می کند، استفاده کنید.
بازدیدها
اگر به جای نوشتن با view ها کار می کنید، بخش تست برنامه های عمومی در Android را ببینید.
به طور خاص، یک مکان خوب برای شروع، راهنمای تست های خودکار رابط کاربری است. این نشان میدهد که چگونه میتوانید آزمایشهایی را که روی دستگاه اجرا میشوند، از جمله هنگام استفاده از نماها، خودکار کنید.
مفاهیم کلیدی
در زیر برخی از مفاهیم کلیدی برای آزمایش کد Compose شما آمده است:
- Semantics : Semantics به UI شما معنا می بخشد و به تست ها اجازه می دهد با عناصر خاص تعامل داشته باشند.
- تست API ها : آزمایش API ها به شما امکان می دهد عناصر را پیدا کنید، ویژگی های آنها را تأیید کنید و اقدامات کاربر را انجام دهید.
- همگامسازی : همگامسازی تأیید میکند که آزمایشها قبل از انجام اقدامات یا اظهارنظر منتظر میمانند تا UI بیکار باشد.
- قابلیت همکاری : قابلیت همکاری تست ها را قادر می سازد تا با عناصر 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 را امتحان کنید.
نمونه ها
برای شما توصیه می شود
- توجه: وقتی جاوا اسکریپت خاموش است، متن پیوند نمایش داده می شود
- معناشناسی در نوشتن
- ورودی های پنجره در Compose
- ملاحظات دیگر