2010-02-27 10 views
10

मैंने वेब पर सभी उदाहरण देखे हैं और यह वास्तविक सरल लगता है। मेरे पास एक नंगे-हड्डियों का ऐप है जो एक स्ट्रिंग प्रदर्शित करता है। मेरे पास एक एंड्रॉइड जुनीट टेस्ट प्रोजेक्ट है जिसे मैंने बनाया था जब ऐप बनाया जा रहा था (ग्रहण ने पूछा कि क्या मैं एक टेस्ट ऐप बनाना चाहता हूं)।एक्लिप्स में एंड्रॉइड जुनीट परीक्षण चलाने की कोशिश में विफल रहता है?

जब मैं परीक्षण ऐप (भागो के रूप में --- एंड्रॉयड JUnit) मैं कंसोल में निम्न देखें ....

[2010-02-27 00:45:03 - SimpleCalculatorTest] चलाने का शुभारंभ उपकरण पर डिवाइस एमुलेटर-5554 android.test.InstrumentationTestRunner [2010-02-27 00:45:12 - SimpleCalculatorTest] टेस्ट रन पूरा

मैं testcase में कोड के किसी भी नहीं दिख रहा है बुलाया जा रहा है। मेरा टेस्टकेस एक वर्ग है जो ActivityInstrumentationTestCase2 को बढ़ाता है। डी डी एम एस शो लॉग इन करें: 02-27 00: 44: 58.521: चेतावनी/TestGrouping (1275): अमान्य पैकेज: '' नहीं पाया जा सका या नहीं परीक्षण

कोई भी विचार है? मैंने सब कुछ करने की कोशिश की है ....

उत्तर

10

यदि आप एक नई गतिविधि इंस्ट्रुमेंटेशनटेस्टकेस 2 बनाते हैं तो आपको एक डिफॉल्ट कन्स्ट्रक्टर की आवश्यकता होती है जो उस वर्ग को इंगित करती है जिसे आप परीक्षण करना चाहते हैं।

पूर्व:

public class TestappTest extends ActivityInstrumentationTestCase2<AppUnderTest> { 

    public TestappTest() { 
    super("my.package.app", AppUnderTest.class); 
    } 

    public void testApp() { 
     // Testcase 
    } 
} 
+4

इस सुपर कन्स्ट्रक्टर को पढ़ने वाले लोगों के लिए अब बहिष्कृत किया गया है। सुपर (AppUnderTest.class) पर्याप्त होना चाहिए – IcedDante

9

मैं एक ही समस्या थी। कारण निर्माता था - यह किसी भी तरह इस तरह एक पैरामीटर था:

public SearchActivityTest(Class<SearchActivity> activityClass) { 
    super("com.example.app", SearchActivity.class); 
} 

लेकिन यह इस तरह कोई पैरामीटर होना चाहिए:

public SearchActivityTest() { 
    super("com.example.app", SearchActivity.class); 
} 

यह मेरे लिए काम किया।

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