تتيح لك واجهة برمجة التطبيقات لاختبار الوحدات في ميزة "نظرة سريعة" اختبار رمز "نظرة سريعة" بدون تضخيم عدد المشاهدات
أو الحاجة إلى أداة تلقائية لواجهة المستخدم. على سبيل المثال، تتيح لك unit test API التحقّق من
الشروط، مثل ما إذا كانت العناصر في قائمة أو ما إذا كانت المربعات
تم وضع علامة فيه، باستخدام عناصر مطابقة مثل hasContentDescriptionEqualTo
أو isChecked
.
وتتميز واجهة برمجة التطبيقات هذه بخفة حجمها وتتطلب إعدادًا أقل، حتى تتمكن من إجراء الاختبار من خلال وتطويرها عندما تقوم بتطوير أجزاء فردية من أداتك وتنظيمها لتحسين إعادة استخدام الرمز البرمجي
ضبط إعدادات الجهاز
يتم عرض التبعيات المطلوبة لاستخدام مكتبة اختبار الوحدات في في ما يلي الأمثلة:
// Other Glance and Compose runtime dependencies.
...
testImplementation 'androidx.glance:glance-testing:1.1.0'
testImplementation 'androidx.glance:glance-AppWidget-testing:1.1.0'
testImplementation 'org.robolectric:robolectric:4.11.1'
...
// You may include additional dependencies, such as Robolectric, if your test
// needs to set a LocalContext.
بنية الاختبار
تنظيم الدوال القابلة للإنشاء خارج فئة GlanceAppWidget
لتفعيلها
إعادة استخدام التعليمات البرمجية واختبار الوحدة. تقليل تعقيد الوحدات قيد الاختبار
قدر الإمكان.
class MyGlanceComposableTest {
@Test
fun myNewsItemComposable_largeSize_hasAuthorAsSubtitle() = runGlanceAppWidgetUnitTest {
// Prepare inputs and state
setAppWidgetSize(100.dp, 100.dp)
// Set the composable under test
provideComposable {
MyNewsItemComposable(TEST_NEWS_ITEM)
}
// Perform assertions
onNode(hasTestTag("subTitle"))
.assertHasText(TEST_NEWS_ITEM.authorName)
}
}
ضبط سياق الاختبار وحجمه
إذا كانت الدالة القابلة للإنشاء تقرأ السياق باستخدام LocalContext.current()
، يجب تعيين سياق باستخدام طريقة LocalContext.current()
.
وبخلاف ذلك، تكون هذه الخطوة اختيارية.
يمكنك استخدام أي إطار عمل لاختبار وحدة Android مستند إلى JVM، مثل Roboletric، من أجل توفر السياق.
إذا وصلت الدالة القابلة للإنشاء إلى LocalSize
، اضبط الحجم المطلوب.
للاختبار قبل توفير مادة قابلة للإنشاء في الاختبار. الحجم الافتراضي هو
بحجم 349.dp × 455.dp، أي تطبيق مصغّر بتنسيق 5x4 يظهر على جهاز Pixel 4
في الوضع الرأسي.
- إذا كان تطبيقك المصغّر يستخدم
sizeMode == Single
، يمكنك ضبطه علىminWidth
وminHeight
في ملفinfo.xml
الخاص بالأداة. - إذا كان تطبيقك المصغّر يستخدم "
sizeMode == Exact
"، يمكنك تحديد الأحجام يمكنك اختباره بطريقة مشابهة لتحديد حجم تطبيقك المصغّر تحديد الأحجام الأفقية والعمودية التي قد يظهر عليها التطبيق المصغّر واختبارها لهم. - إذا كان تطبيقك المصغّر يستخدم
sizeMode == Responsive
، يمكنك ضبطه على إحدى الأحجام من القائمة التي تقدّمها عند تحديدsizeMode
.
تبلغ المدة التلقائية لمهلة الاختبار ثانية واحدة، ولكن يمكنك ضبط مهلة مخصَّصة.
المدة كوسيطة إلى طريقة runGlanceAppWidgetUnitTest
إذا كان الاختبار
البنية الأساسية تفرض مهلة مختلفة.
لمزيد من المعلومات وعينات التعليمات البرمجية، راجع الوثائق المرجعية لـ
runGlanceAppWidgetUnitTest