अपने ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) की जांच करें. इससे यह पुष्टि की जा सकेगी कि आपके Compose कोड का व्यवहार सही है. इससे आपको गड़बड़ियों का पता पहले ही चल जाता है और अपने ऐप्लिकेशन की क्वालिटी को बेहतर बनाने में मदद मिलती है.
Compose, टेस्टिंग एपीआई का एक सेट उपलब्ध कराता है. इसकी मदद से, एलिमेंट ढूंढे जा सकते हैं, उनके एट्रिब्यूट की पुष्टि की जा सकती है, और उपयोगकर्ता की कार्रवाइयां की जा सकती हैं. इन एपीआई में समय में बदलाव करने जैसी बेहतर सुविधाएं भी शामिल हैं. इन एपीआई का इस्तेमाल करके, मज़बूत टेस्ट बनाएं. इनसे आपके ऐप्लिकेशन के व्यवहार की पुष्टि होती है.
व्यू
अगर आपको Compose के बजाय व्यू के साथ काम करना है, तो Android पर ऐप्लिकेशन टेस्ट करना सेक्शन देखें.
खास तौर पर, यूज़र इंटरफ़ेस (यूआई) टेस्ट को अपने-आप होने की सुविधा चालू करना गाइड से शुरुआत करना बेहतर होगा. इसमें बताया गया है कि डिवाइस पर चलने वाले टेस्ट को कैसे अपने-आप शुरू किया जा सकता है. इसमें व्यू का इस्तेमाल करने के बारे में भी बताया गया है.
खास कॉन्सेप्ट
अपने 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 का इस्तेमाल किया जाता है. 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 Testing codelab आज़माएं.
सैंपल
आपके लिए सुझाव
- ध्यान दें: JavaScript बंद होने पर लिंक का टेक्स्ट दिखता है
- Compose में सिमैंटिक
- Compose में विंडो इनसेट
- अन्य बातें