2011-01-12 5 views
80

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

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

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

उत्तर

106

This blog post इसे सबसे अच्छा बताता है। असल में, यह इस प्रकार है:

testing chart

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

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

this page ("@SmallTest" के लिए खोजें) देखें कि कौन से परीक्षण चलते हैं।

+7

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

+3

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

+0

आह, मैं देखता हूं। अभी भी मेरे माध्यम से प्राप्त करने के लिए एंड्रॉइड दस्तावेज़ों में से कुछ है। मुझे लगता है कि यह एक अच्छी बात है। धन्यवाद डेविड और मायारा। –

4

Davidann's answer के अतिरिक्त के रूप में और मुख्य रूप से OP's question टिप्पणी में:

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

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

AndroidJUnitRunner documentation से

:

एक विशेष परीक्षा आकार यानी के साथ एनोटेट रनिंग SmallTest या MediumTest या LargeTest:

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

तुम भी सेटअप Gradle के माध्यम से उन पैरामीटर हो सकता है:

 

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

अधिक जानकारी के लिए this blog post देखें।

1

तुम भी @Category(MediumTest.class) या @Category(LargeTest.class), आदि के साथ POJO इकाई परीक्षण टिप्पणी कर सकते हैं अपने खुद के Categories को परिभाषित करते हुए - एक उदाहरण

संबंधित मुद्दे