मैंने एंड्रॉइड स्टूडियो का उपयोग करना शुरू कर दिया है और हाल ही में एंड्रॉइड विकास के लिए धीरे-धीरे बढ़ाना है और इसे ग्रहण/चींटी या मेवेन से काफी बेहतर लगता है। हालांकि मैंने हाल ही में अपने ऐप के साथ किसी प्रकार की इकाई और एकीकरण परीक्षण को लागू करने की कोशिश करना शुरू कर दिया है। मैं हाल ही में Google द्वारा जारी एस्प्रेसो फ्रेमवर्क का उपयोग करके काम कर रहे बुनियादी परीक्षण प्राप्त करने में सक्षम था। मेरे पास कुछ परीक्षण थे, हालांकि मुझे ऑब्जेक्ट्स के मॉक किए गए संस्करणों को नकल करने और इंजेक्ट करने की आवश्यकता थी। मैंने अतीत में एक और प्रोजेक्ट के लिए डैगर का इस्तेमाल किया, इसलिए मैंने अपनी परियोजना में डैगर शामिल किया। हालांकि अब मेरा परीक्षण निम्न त्रुटि के कारण नहीं चलेंगे:उपकरण चलाने के लिए एंड्रॉइड ग्रेडल + डैगर का उपयोग करना
gradle connectedCheck
...
4.1.2 failed: Instrumentation run failed due to 'java.lang.IllegalAccessError' :EspressoApp:connectedCheck
मैं यहाँ इस का एक सरल डेमो बनाया: https://github.com/mwolfe38/android-espresso-dagger
बस क्लोन और फिर कमांड लाइन रन से: ग्रेडल कनेक्ट चेक
उपरोक्त में मैंने निर्भरताओं को कई अलग-अलग तरीकों से आजमाया है, मूल रूप से इस तरह:
dependencies {
compile 'com.android.support:appcompat-v7:+'
compile 'com.squareup.dagger:dagger-compiler:1.1.0'
compile 'com.squareup.dagger:dagger:1.1.0'
instrumentTestCompile files('libs/espresso-1.0-SNAPSHOT.jar',
'libs/testrunner-1.0-SNAPSHOT.jar',
'libs/testrunner-runtime-1.0-SNAPSHOT.jar')
instrumentTestCompile 'org.hamcrest:hamcrest-all:1.3'
instrumentTestCompile 'com.google.guava:guava:15.0'
}
लेकिन यह मुझे स्थिर प्रारंभिकरण के संबंध में एक त्रुटि देता है। यह डैगर के संबंध में एस्प्रेसो ढांचे में कुछ स्थैतिक प्रारंभिक कोड के कारण होता है। तो उपकरण के लिए डैगर निर्भरताओं को जोड़ने के बाद टेस्टकंपाइल मुझे ऊपर वर्णित IllegalAccessError मिलता है।
किसी के पास आपकी परियोजना में डैगर और एस्प्रेसो परीक्षण करने सहित भाग्य है?
आपको लगता है कि वे केवल समय पैकेज एस्प्रेसो को एक .aar के रूप में ले सकते हैं .... – jophde
हाँ या बस इसे मैवेन सेंट्रल में डालें ताकि हम इसे हर किसी की तरह शामिल कर सकें अन्य निर्भरता। कितना दर्द! मैं अब परीक्षण-किट से प्यार कर रहा हूं कि यह काम करता है लेकिन इसे काम करने के लिए एक दुःस्वप्न था! –
मैं ग्रहण का उपयोग करता हूं और यह मेरी मदद नहीं करता है। – Viacheslav