Android में @SmallTest, @MediumTest, और @LargeTest एनोटेशन का उद्देश्य क्या है?


99

मैं एंड्रॉइड के लिए नया हूं और मैंने इन एनोटेशन का उपयोग करके उदाहरण कोड देखा है। उदाहरण के लिए:

@SmallTest
public void testStuff() {
    TouchUtils.tapView(this, anEditTextView);
    sendKeys("H E L P SPACE M E PERIOD");
    assertEquals("help me.", anEditTextView.getText().toString());
}

वह एनोटेशन क्या पूरा करता है?

जवाबों:


9

डेविडसन के जवाब और टिप्पणी में मुख्य रूप से ओपी के प्रश्न के अतिरिक्त :

उपरोक्त कोड के संदर्भ में, यह वास्तव में क्या कुछ भी छुट्टी को छोड़कर अन्य डेवलपर्स के लिए एक नोट? क्या यह कुछ भी लागू करता है? क्या कोई उपकरण है जो इस एनोटेशन का उपयोग करता है? Android विकास में इसका उद्देश्य क्या है?

आप विशिष्ट एनोटेशन के साथ एनोटेट किए गए परीक्षणों का एक समूह चला सकते हैं।

से AndroidJUnitRunner प्रलेखन :

एक विशिष्ट परीक्षण आकार चलाना, जिसे SmallTest या MediumTest या BigTest के साथ एनोटेट किया गया है :

adb शेल एम-इंस्ट्रूमेंट -w आकार- [छोटा | मध्यम | बड़ा] com.android.foo/android.support.test.runner.AndroidJUnitRunner

आप उन पैरामलों को ग्रेडेल के माध्यम से भी सेट कर सकते हैं:


    android {
        ...
        defaultConfig {
            ...
            testInstrumentationRunnerArgument 'size', 'Large'
        }
    }

वाया ग्रेडेल:

-Pandroid.testInstrumentationRunnerArguments.size=small

देखें डौग स्टीवेंसन पोस्ट ब्लॉग के साथ-साथ इस ब्लॉग पोस्ट अधिक जानकारी के लिए।


ठीक है, इसलिए संक्षेप में मैं केवल @SmallTest परीक्षण सूट चला सकता हूं adb shell am instrument -w -e size small com.android.foo/android.support.test.runner.AndroidJUnitRunner; धन्यवाद
kosiara - बार्टोज़ कोसार्की

हम एक कमांड में एनोटेशन को कैसे निर्दिष्ट करते हैं? उदाहरण के लिए, कुछ इस तरह:./gradlew connectedDebugAndroidTest -size MediumTest
श्री-आईडीई

@ Mr-IDE, क्या आपको जवाब मिला?
जॉन

138

यह ब्लॉग पोस्ट इसे सबसे अच्छा समझाती है। मूल रूप से, यह निम्नलिखित है:

परीक्षण चार्ट

  1. छोटा: यह परीक्षण किसी भी फाइल सिस्टम या नेटवर्क के साथ इंटरैक्ट नहीं करता है।
  2. माध्यम: बॉक्स पर फ़ाइल सिस्टम तक पहुँचता है जो परीक्षण चला रहा है।
  3. बड़े: बाहरी फ़ाइल सिस्टम, नेटवर्क आदि को एक्सेस करता है।

प्रति Android डेवलपर ब्लॉग , एक छोटे से परीक्षण <100ms, एक मध्यम परीक्षण <2s, और एक बड़ा परीक्षण <120S लेना चाहिए।

इस पृष्ठ को देखें ("@SmallTest" की खोज) कि कैसे परीक्षण चलाने के लिए निर्दिष्ट करें।


13
मैं देखता हूं (और पिछले महीने उस लेख को पढ़ना याद है)। लेकिन ऊपर दिए गए कोड के संदर्भ में, क्या यह वास्तव में कुछ भी करता है सिवाय अन्य डेवलपर्स के लिए एक नोट छोड़ दें? क्या यह कुछ भी लागू करता है? क्या कोई उपकरण है जो इस एनोटेशन का उपयोग करता है? Android विकास में इसका उद्देश्य क्या है?
एरिक पालकोविच कैरे

3
@ एरिक एंड्रॉइड टेस्टरनर आपको यह निर्दिष्ट करने की अनुमति देता है कि परीक्षण के किस आकार को चलाना है।
चेरिल साइमन

7
इस मामले पर Google का एक नया ब्लॉग है: plus.google.com/+AndroidDevelopers/posts/TPy1EeSaSg8
k29

1
@SmallTest को पदावनत किया गया है
नियॉन

1
@NeonWarge इम्पोर्ट android.support.test.filters का उपयोग करें। [छोटा] टेस्ट;
अलेक्जेंडर सिदिकोव फैफ

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.