मैं एंड्रॉयड स्टूडियो के साथ काम कर रहा हूँ है और मैं अपने प्रोजेक्ट के लिए एक इकाई परीक्षण जोड़ने की जरूरत है।
मैंने विभिन्न ट्यूटोरियल पढ़े, लेकिन मुझे कुछ भी नहीं मिला।
मेरे समस्या है:
TestXMLParser.java:
AssertionFailedError: <class> कोई सार्वजनिक निर्माता
public class TestXMLParser extends ActivityInstrumentationTestCase2<HomePageActivity> {
public TestXMLParser(Class<HomePageActivity> activityClass) {
super(activityClass);
}
@Override
public void setUp() throws Exception {
super.setUp();
//Controller.init((Activity)getContext());
}
@Override
public void tearDown() throws Exception {
super.tearDown();
}
public void testTrue() throws Exception {
assertTrue(true);
}
...
}
जब मैंने इसे चलाने के लिए, मैं इस संदेश को देखें:
junit.framework.AssertionFailedError: Class cz.cvut.kosapp.jUnitTests.TestXMLParser has no public constructor TestCase(String name) or TestCase()
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1661)
मैं सच में पता नहीं क्यों। अन्य JUnit परीक्षण, अच्छी तरह से काम करता है, उदाहरण के लिए, जब मैं का उपयोग करें:
public class TestXMLParser extends AndroidTestCase { ...
शीर्षक में
, इस काम करता है और परीक्षण सही ढंग से चल रहे हैं।
लेकिन मुझे अन्य कोड (नियंत्रक वर्ग में) चलाने के लिए संदर्भ (गतिविधि के रूप में) का उपयोग करने की आवश्यकता है।
क्या आपको कोई फर्क पड़ता है कि इसे कैसे ठीक किया जाए?
आपकी टिप्पणियों के लिए धन्यवाद।
टिप्पणी के लिए धन्यवाद, लेकिन यह सही उत्तर नहीं है। यह कन्स्ट्रक्टर ActivityInstrumentationTestCase2 में उपलब्ध नहीं है। – dusanjencik
आप सही हैं - ActivityInstrumentationTestCase2 डिफ़ॉल्ट कन्स्ट्रक्टर का पर्दाफाश नहीं करता है। इसके बजाए, आप अपनी कक्षा के लिए एक डिफ़ॉल्ट कन्स्ट्रक्टर बनाते हैं और फिर गतिविधि इंस्ट्रूमेंटेशनटेस्टकेस 2 कन्स्ट्रक्टरों में से एक के लिए वैध पैरामीटर के साथ सुपर कॉल करते हैं - उनमें से एक जो कक्षा स्वीकार करता है - और आप परीक्षा में कक्षा में प्रवेश करते हैं। मुझे यहां कुछ समान मिला: http://stackoverflow.com/questions/2346734/trying-to-run-android-junit-tests-in-eclipse-fails –
एंड्रॉइड स्टूडियो इतनी जल्दी चलता है कि प्रकाशित पुस्तकों में से आधे आपने पैसे खर्च किए हैं और बहुत से इंटरनेट उदाहरण बस काम नहीं करते हैं। – nimbusgb