'लिखें' लेआउट की जांच करना

अपने ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) की जांच करके पुष्टि करें कि आपके Compose कोड का व्यवहार सही है. इससे, गड़बड़ियों का पता जल्दी चलता है और ऐप्लिकेशन की क्वालिटी को बेहतर बनाया जा सकता है.

Compose, एलिमेंट ढूंढने, उनके एट्रिब्यूट की पुष्टि करने, और उपयोगकर्ता कार्रवाइयां करने के लिए, टेस्टिंग एपीआई का एक सेट उपलब्ध कराता है. एपीआई में बेहतर सुविधाएं भी शामिल हैं, जैसे कि समय में बदलाव करना. इन एपीआई का इस्तेमाल करके, ऐसे बेहतर टेस्ट बनाएं जिनसे आपके ऐप्लिकेशन के व्यवहार की पुष्टि की जा सके.

व्यू

अगर Compose के बजाय व्यू का इस्तेमाल किया जा रहा है, तो Android पर ऐप्लिकेशन टेस्ट करना सेक्शन देखें.

खास तौर पर, यूज़र इंटरफ़ेस (यूआई) की जांच को ऑटोमेट करने से जुड़ी गाइड से शुरुआत करें. इसमें, डिवाइस पर चलने वाले टेस्ट को ऑटोमेट करने का तरीका बताया गया है. इसमें व्यू का इस्तेमाल करने के दौरान भी टेस्ट को ऑटोमेट करने का तरीका बताया गया है.

खास कॉन्सेप्ट

Compose कोड की जांच करने के लिए, यहां कुछ अहम कॉन्सेप्ट दिए गए हैं.

  • सेमांटिक्स: कंपोज़ टेस्ट, सेमांटिक्स का इस्तेमाल करके यूज़र इंटरफ़ेस (यूआई) के साथ इंटरैक्ट करते हैं. इससे यूआई के हिस्सों को मतलब मिलता है और ये यूआई के लेआउट के साथ जनरेट होते हैं.
  • टेस्टिंग एपीआई: Compose, एलिमेंट ढूंढने, उनकी स्थिति और प्रॉपर्टी के बारे में बताने, और उपयोगकर्ता इंटरैक्शन को सिम्युलेट करने के लिए कार्रवाइयां करने के लिए, टेस्टिंग एपीआई उपलब्ध कराता है.
  • सिंक करना: डिफ़ॉल्ट रूप से, Compose टेस्ट अपने-आप यूज़र इंटरफ़ेस (यूआई) के साथ सिंक हो जाते हैं. साथ ही, दावे करने या कार्रवाइयां करने से पहले, यूआई के खाली होने का इंतज़ार करते हैं.
  • इंटरऑपरेबिलिटी: हाइब्रिड ऐप्लिकेशन में, जांचें Compose और व्यू-आधारित, दोनों एलिमेंट के साथ आसानी से इंटरैक्ट कर सकती हैं. साथ ही, जांच करने के अन्य फ़्रेमवर्क के साथ इंटिग्रेट भी हो सकती हैं.

जांच करने से जुड़ी जानकारी

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 और Android के लिए लागू किया गया AndroidComposeTestRule शामिल है. इस नियम की मदद से, कॉन्टेंट लिखने की सुविधा सेट की जा सकती है या गतिविधि को ऐक्सेस किया जा सकता है. फ़ैक्ट्री फ़ंक्शन का इस्तेमाल करके नियम बनाए जाते हैं. इसके लिए, createComposeRule का इस्तेमाल करें. अगर आपको किसी गतिविधि का ऐक्सेस चाहिए, तो createAndroidComposeRule का इस्तेमाल करें. 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()
    }
}

अतिरिक्त संसाधन

  • Android पर ऐप्लिकेशन टेस्ट करना: Android टेस्टिंग के मुख्य लैंडिंग पेज पर, टेस्टिंग की बुनियादी बातों और तकनीकों के बारे में ज़्यादा जानकारी मिलती है.
  • टेस्टिंग के बुनियादी सिद्धांत: Android ऐप्लिकेशन की जांच करने के मुख्य सिद्धांतों के बारे में ज़्यादा जानें.
  • लोकल टेस्ट: कुछ टेस्ट, अपने वर्कस्टेशन पर स्थानीय तौर पर चलाए जा सकते हैं.
  • इंस्ट्रूमेंट किए गए टेस्ट: इंस्ट्रूमेंट किए गए टेस्ट भी चलाना एक अच्छा तरीका है. इसका मतलब है कि ये टेस्ट सीधे तौर पर डिवाइस पर चलते हैं.
  • कंटिन्यूअस इंटिग्रेशन: कंटिन्यूअस इंटिग्रेशन की मदद से, अपने टेस्ट को डिप्लॉयमेंट की लाइन में इंटिग्रेट किया जा सकता है.
  • अलग-अलग स्क्रीन साइज़ की जांच करना: उपयोगकर्ताओं के पास कई डिवाइस उपलब्ध हैं. इसलिए, आपको अलग-अलग स्क्रीन साइज़ की जांच करनी चाहिए.
  • Espresso: यह टूल, व्यू-आधारित यूज़र इंटरफ़ेस (यूआई) के लिए है. हालांकि, Espresso के बारे में जानकारी, Compose की जांच के कुछ पहलुओं के लिए अब भी मददगार हो सकती है.

कोडलैब (कोड बनाना सीखना)

ज़्यादा जानने के लिए, Jetpack Compose टेस्टिंग कोडलैब आज़माएं.

सैंपल