AndroidX टेस्ट, Jetpack लाइब्रेरी का एक कलेक्शन है. इससे आपको टेस्ट चलाने में मदद मिलती है Android ऐप्लिकेशन पर चलने वाले ऐप्लिकेशन भी हैं. यह इन लिखने में आपकी मदद करने के लिए कई टूल भी उपलब्ध कराता है टेस्ट.
उदाहरण के लिए, AndroidX Test, गतिविधियां शुरू करने के लिए JUnit4 के नियम देता है और उनके साथ JUnit4 टेस्ट में इंटरैक्ट करते हैं. इसमें यूज़र इंटरफ़ेस (यूआई) टेस्टिंग फ़्रेमवर्क भी शामिल हैं, जैसे कि जैसे, Espresso, यूज़र इंटरफ़ेस (यूआई) Automator, और Robolectric सिम्युलेटर.
AndroidX टेस्ट लाइब्रेरी जोड़ना
AndroidX Test का इस्तेमाल करने के लिए, आपको अपने ऐप्लिकेशन प्रोजेक्ट की डिपेंडेंसी में बदलाव करना होगा अपने डेवलपमेंट एनवायरमेंट के मुताबिक ऐसा करें.
ग्रेडल डिपेंडेंसी जोड़ना
अपने ऐप्लिकेशन प्रोजेक्ट की डिपेंडेंसी में बदलाव करने के लिए, यह तरीका अपनाएं:
- पहला चरण: अपने Gradle मॉड्यूल के लिए
build.gradle
फ़ाइल खोलें. - दूसरा चरण: डेटा स्टोर करने की जगह के सेक्शन में, पक्का करें कि Google का Maven डेटा संग्रह स्थान दिखाई देता है:
allprojects {
repositories {
jcenter()
google()
}
}
- तीसरा चरण: AndroidX के हर उस टेस्ट पैकेज के लिए उसका पैकेज जोड़ें जिसका आपको इस्तेमाल करना है
नाम को
डिपेंडेंसी सेक्शन में देखें. उदाहरण के लिए,
espresso-core
पैकेज जोड़ने के लिए, नीचे दी गई लाइनें:
ग्रूवी
dependencies { ... androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVersion" }
Kotlin
dependencies { ... androidTestImplementation('androidx.test.espresso:espresso-core:$espressoVersion') }
ये सबसे सामान्य AndroidX Test डिपेंडेंसी हैं:
ग्रूवी
dependencies { // Core library androidTestImplementation "androidx.test:core:$androidXTestVersion0" // AndroidJUnitRunner and JUnit Rules androidTestImplementation "androidx.test:runner:$testRunnerVersion" androidTestImplementation "androidx.test:rules:$testRulesVersion" // Assertions androidTestImplementation "androidx.test.ext:junit:$testJunitVersion" androidTestImplementation "androidx.test.ext:truth:$truthVersion" // Espresso dependencies androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVersion" androidTestImplementation "androidx.test.espresso:espresso-contrib:$espressoVersion" androidTestImplementation "androidx.test.espresso:espresso-intents:$espressoVersion" androidTestImplementation "androidx.test.espresso:espresso-accessibility:$espressoVersion" androidTestImplementation "androidx.test.espresso:espresso-web:$espressoVersion" androidTestImplementation "androidx.test.espresso.idling:idling-concurrent:$espressoVersion" // The following Espresso dependency can be either "implementation", // or "androidTestImplementation", depending on whether you want the // dependency to appear on your APK’"s compile classpath or the test APK // classpath. androidTestImplementation "androidx.test.espresso:espresso-idling-resource:$espressoVersion" }
Kotlin
dependencies { // Core library androidTestImplementation("androidx.test:core:$androidXTestVersion") // AndroidJUnitRunner and JUnit Rules androidTestImplementation("androidx.test:runner:$testRunnerVersion") androidTestImplementation("androidx.test:rules:$testRulesVersion") // Assertions androidTestImplementation("androidx.test.ext:junit:$testJunitVersion") androidTestImplementation("androidx.test.ext:truth:$truthVersion") // Espresso dependencies androidTestImplementation( "androidx.test.espresso:espresso-core:$espressoVersion") androidTestImplementation( "androidx.test.espresso:espresso-contrib:$espressoVersion") androidTestImplementation( "androidx.test.espresso:espresso-intents:$espressoVersion") androidTestImplementation( "androidx.test.espresso:espresso-accessibility:$espressoVersion") androidTestImplementation( "androidx.test.espresso:espresso-web:$espressoVersion") androidTestImplementation( "androidx.test.espresso.idling:idling-concurrent:$espressoVersion") // The following Espresso dependency can be either "implementation", // or "androidTestImplementation", depending on whether you want the // dependency to appear on your APK"s compile classpath or the test APK // classpath. androidTestImplementation( "androidx.test.espresso:espresso-idling-resource:$espressoVersion") }
रिलीज़ नोट पेज पर एक टेबल होती है, जिसमें हर पेज के लिए आर्टफ़ैक्ट.
खास जानकारी के लिए, पैकेज इंडेक्स या क्लास इंडेक्स देखें इन लाइब्रेरी पर मौजूद दस्तावेज़ों की जानकारी देखें.
अब काम नहीं करने वाली क्लास का इस्तेमाल करने वाले प्रोजेक्ट
अगर आपका ऐप्लिकेशन ऐसे टेस्ट का इस्तेमाल करता है जो JUnit3 पर आधारित उस android.test
पर आधारित हैं जो अब काम नहीं करता
क्लास, जैसे कि InstrumentationTestCase
और TestSuiteLoader
में जोड़ें
फ़ाइल के android
अनुभाग में निम्न पंक्तियां:
android {
...
useLibrary 'android.test.runner'
useLibrary 'android.test.base'
useLibrary 'android.test.mock'
}
मेनिफ़ेस्ट में किए गए एलान जोड़ें
काम न करने वाली JUnit3 पर आधारित android.test
क्लास पर भरोसा करने वाले टेस्ट चलाने के लिए, जोड़ें
आपके टेस्ट ऐप्लिकेशन के मेनिफ़ेस्ट के लिए, ज़रूरी <uses-library>
एलिमेंट. इसके लिए
उदाहरण के लिए, अगर आपके पास ऐसे टेस्ट जोड़ने का विकल्प है जो android.test.runner
लाइब्रेरी पर निर्भर करते हैं, तो
ऐप्लिकेशन के मेनिफ़ेस्ट में इस एलिमेंट का इस्तेमाल किया जाएगा:
<!-- You don't need to include android:required="false" if your app's
minSdkVersion is 28 or higher. -->
<uses-library android:name="android.test.runner"
android:required="false" />
JUnit पर आधारित क्लास वाली लाइब्रेरी का पता लगाने के लिए, देखें JUnit पर आधारित लाइब्रेरी.
काम नहीं करने वाली क्लास का इस्तेमाल करते समय और Android 9 या
ज़्यादा
इस सेक्शन में दिए गए दिशा-निर्देश, Android 9 (एपीआई लेवल 28) को टारगेट करने पर ही लागू होते हैं या बाद वाला वर्शन सेट किया हो और आपके ऐप्लिकेशन के लिए SDK टूल का सबसे कम वर्शन Android 9 पर सेट हो.
android.test.runner
लाइब्रेरी, साफ़ तौर पर android.test.base
पर निर्भर करती है
और android.test.mock
लाइब्रेरी. अगर आपका ऐप्लिकेशन सिर्फ़ इन क्लास का इस्तेमाल करता है
android.test.base
या android.test.mock
, तो आप नीचे दी गई बातों के हिसाब से लाइब्रेरी शामिल कर सकते हैं
खुद:
<!-- For both of these declarations, you don't need to include
android:required="false" if your app's minSdkVersion is 28
or higher. -->
<uses-library android:name="android.test.base"
android:required="false" />
<uses-library android:name="android.test.mock"
android:required="false" />