यह उत्तर उन लोगों के लिए है जो अभी Android परीक्षण के साथ शुरू हो रहे हैं। मैं दो सरल उदाहरण प्रदान करने में आपकी मदद करूँगा कि परीक्षण कैसे काम करता है। यदि आप अगले 10 मिनट के लिए साथ आते हैं, तो आप अपने स्वयं के ऐप में अपने परीक्षण जोड़ना शुरू करने के लिए पूरी तरह तैयार हो जाएंगे। मुझे लगता है कि आपको आश्चर्य होगा कि यह कितना आसान है। मैं निश्चित रूप से था।
Android परीक्षण के लिए परिचय
दो अलग-अलग प्रकार के परीक्षण हैं जो आप करेंगे।
- स्थानीय इकाई परीक्षण। ये JVM (जावा वर्चुअल मशीन) पर स्थानीय रूप से चलाए जाते हैं। चूंकि वे स्थानीय हैं, वे तेज हैं। आप अपने कोड के उन हिस्सों का परीक्षण करने के लिए उनका उपयोग कर सकते हैं जिन्हें सिर्फ जावा की आवश्यकता है न कि एंड्रॉइड एपीआई की। (कभी-कभी आप स्थानीय रूप से अधिक चीजों का परीक्षण करने के लिए एक नकली एपीआई ऑब्जेक्ट बना सकते हैं। इसे मॉकिंग कहा जाता है । मॉक
Context
एक उदाहरण है।)
- यंत्र परीक्षण। ये परीक्षण एक वास्तविक डिवाइस पर या एमुलेटर में चलाए जाते हैं। यह उन्हें स्थानीय परीक्षणों की तुलना में धीमा बनाता है। हालाँकि, वे अधिक लचीले हैं क्योंकि आपके पास पूर्ण Android API आपके लिए उपलब्ध है।
एक नया प्रोजेक्ट बनाएं और आपको निम्नलिखित डिफ़ॉल्ट फ़ोल्डर दिखाई देंगे।
सब कुछ पहले से ही है और आपके परीक्षण बनाने के लिए आपका इंतजार कर रहा है। यह सब पहले से ही सेट है!
स्थानीय इकाई परीक्षण कैसे बनाएं
ExampleUnitTest
ऊपर की इमेज में दिखाई गई फाइल को खोलें । यह कुछ इस तरह दिखना चाहिए:
public class ExampleUnitTest {
@Test
public void addition_isCorrect() throws Exception {
assertEquals(4, 2 + 2);
}
}
सभी परीक्षणों को चलाने के लिए डबल ग्रीन एरो को दबाएं या केवल एक को चलाने के लिए सिंगल ग्रीन एरो को चलाएं। (इस मामले में केवल एक परीक्षण है इसलिए वे दोनों एक ही काम करते हैं।)
इसे पास करना चाहिए ( जब तक आप 2 + 2
अभी भी 4
इस उत्तर को पढ़ रहे हैं)। बधाई हो, आपने अभी अपना पहला परीक्षण चलाया है!
अपना खुद का परीक्षण करना
आइए हम अपना परीक्षण लिखें। पहले इस क्लास को अपने मुख्य ऐप प्रोजेक्ट में जोड़ें ताकि हमें परीक्षण करने के लिए कुछ हो:
public class MyClass {
public int add(int a, int b) {
return a + b;
}
}
अब addition_isCorrect()
टेस्ट क्लास में विधि को निम्न कोड की तरह बदलें (या किसी अन्य नाम के साथ एक और विधि जोड़ें):
public class ExampleUnitTest {
@Test
public void addition_isCorrect() throws Exception {
MyClass myClass = new MyClass();
int result = myClass.add(2, 2);
int expected = 4;
assertEquals(expected, result);
}
}
इसे फिर से चलाएं और आपको इसे पास होना चाहिए। बधाई हो, आपने अभी अपना पहला टेस्ट बनाया है! (खैर, मुझे लगता है कि तकनीकी रूप से यह मेरा था, लेकिन, हे, काफी करीब है। मेरा क्या है तुम्हारा।)
इंस्ट्रूमेंटेड टेस्ट कैसे बनाएं
ExampleInstrumentedTest
फ़ाइल खोलें । यह कुछ इस तरह दिखना चाहिए:
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Test
public void useAppContext() throws Exception {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getTargetContext();
assertEquals("com.example.myapp", appContext.getPackageName());
}
}
उन हरे बटन में से एक को फिर से दबाएं।
जब तक आपके पास एक वास्तविक उपकरण जुड़ा हुआ है या एमुलेटर सेट है, तब तक इसे शुरू करना चाहिए और अपना ऐप चलाना चाहिए। बधाई हो, आपने अभी-अभी अपना पहला यंत्र परीक्षण किया है!
अपना खुद का परीक्षण करना
इंस्ट्रूमेंटेड टेस्ट्स को चलाने के लिए एस्प्रेसो का इस्तेमाल करते हैं। यह अपने छोटे रोबोट उपयोगकर्ता की तरह है कि आप अपने ऐप का परीक्षण कर सकते हैं। आप इसे एक बटन दबाने या टेक्स्ट व्यू के गुणों को पढ़ने के लिए कुछ करने के लिए कह सकते हैं।
आप परीक्षण को हाथ से कैसे करें, इसके निर्देश लिख सकते हैं, लेकिन चूंकि हम अभी शुरू कर रहे हैं, इसलिए ऑटो-रिकॉर्ड फ़ंक्शन का उपयोग करें । यह सुपर सरल है।
पहले अपने UI में एक बटन जोड़ें ताकि हमारे पास काम करने के लिए कुछ हो। इसे मैने किया है:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.myapp.MainActivity">
<Button
android:id="@+id/myButton"
android:text="Click me"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</android.support.constraint.ConstraintLayout>
फिर मेनू में रन> रिकॉर्ड एस्प्रेसो टेस्ट दबाएं ।
इसके शुरू होने के बाद, एमुलेटर में बटन पर क्लिक करें और फिर रिकॉर्ड डायलॉग पर ओके चुनें। यह निम्नलिखित परीक्षण कोड उत्पन्न करना चाहिए।
@LargeTest
@RunWith(AndroidJUnit4.class)
public class MainActivityTest {
@Rule
public ActivityTestRule<MainActivity> mActivityTestRule = new ActivityTestRule<>(MainActivity.class);
@Test
public void mainActivityTest() {
ViewInteraction appCompatButton = onView(
allOf(withId(R.id.myButton), withText("Click me"), isDisplayed()));
appCompatButton.perform(click());
}
}
महान! आपने अभी-अभी पहला यंत्र परीक्षण बनाया है! यह सुपर आसान था। आपको शायद इसे वास्तविक परीक्षा बनाने के लिए जोर देना चाहिए, लेकिन यह रिकॉर्डर के साथ बहुत आसान है। थोड़ा गहरा जाने के लिए यह वीडियो देखें ।
आगे के अध्ययन
मैं पहले वीडियो देखता हूं और फिर प्रलेखन के माध्यम से पढ़ता हूं। यह सब बहुत उपयोगी है। अंतिम लिंक उन लेखों की एक श्रृंखला है जो सोचने के लिए कुछ महत्वपूर्ण चीजों को कवर करते हैं कि क्या परीक्षण करना है।