2016-01-27 8 views
5

मैं एंड्रॉयड स्टूडियोकैसे निष्क्रिय करने के लिए एंड्रॉयड स्टूडियो इकाई परीक्षण (androidTest)

किसी तरह यह पता लगा कि मेरे ग्रहण परियोजनाओं के एक और एक आयातित परियोजना

के लिए इकाई परीक्षण कोड निहित में ग्रहण परियोजना आयात किया है ऐसा नहीं है कि कोड में लाया जाता है और एक src/androidTest में रख dir

मैं वास्तव में यह है कि ऐसा करने के लिए नहीं करना चाहता था लेकिन वे अब देखते हैं और निर्माण विफल

के कारण वहाँ बंद करने के लिए एक साधन है एंड्रॉइडटेस्ट सामान? तो मैं इस बात पर ध्यान केंद्रित कर सकता हूं कि ऐप वास्तव में बनाता है या नहीं?

शायद यह एक gradle सेटिंग के माध्यम से हो सकता है?

हो सकता है कि मैं सिर्फ सभी androidTest जावा फ़ाइलों को हटाने की जरूरत है (यह Gradle का मेरा पहला संपर्क में है), लेकिन यह थोड़ा अंतिम लगती है ..

+1

वर्कअराउंड के रूप में आप क्या कर सकते हैं "ग्रैडल प्रोजेक्ट" -> "ऐप" (या आपकी ऐप निर्देशिका कॉल कैसे करें) -> "बिल्ड" पर जाकर अपना ऐप बनाना है। यह आपको एक एपीके संकलित करेगा। (या डिफ़ॉल्ट पैराम और उचित मॉड्यूल के साथ "एंड्रॉइड एप्लिकेशन" कॉन्फ़िगरेशन बनाएं - और फिर पूरी परियोजना को पूरी तरह से पुनर्निर्माण/बनाने के बजाय इसे चलाएं)। अर्थात। विचार पूरी परियोजना के निर्माण से बचने के लिए है, जब तक कि आपको वास्तव में इसकी आवश्यकता न हो, लेकिन ऐप का निर्माण न करें। –

+1

इसके अलावा, अगर आप सभी फाइलों को हटाना नहीं चाहते हैं, तो आप "androidTest" फ़ोल्डर का नाम बदलकर "_androidTest" जैसे कुछ कर सकते हैं और वे अब परियोजना में दिखाई नहीं देंगे। –

उत्तर

5

एक बार जब आप एंड्रॉयड स्टूडियो में इस परियोजना के पुनर्निर्माण है - सभी स्रोत फ़ाइलें परियोजना में recompiled हैं। अलग-अलग कार्यों में से कई :compileDebugAndroidTestJavaWithJavac शामिल हैं जो आपके इंस्ट्रूमेंटल टेस्ट को संकलित करने के बाद बिल्ड-ब्रेक का कारण बन रहा है।

Gradle कार्यों [: अनुप्रयोग: generateDebugSources, : एप्लिकेशन: generateDebugAndroidTestSources, :

enter image description here

एंड्रॉयड स्टूडियो में पुनर्निर्माण के लिए कॉलिंग सिर्फ Gradle को इन कार्यों को पारित करने के लिए एक यूआई है अनुप्रयोग: prepareDebugUnitTestDependencies,: एप्लिकेशन: mockableAndroidJar, : एप्लिकेशन: compileDebugSources,: एप्लिकेशन: compileDebugAndroidTestSources, : एप्लिकेशन: compileDebugUnitTestSources]

आईई। कोई स्पष्ट तरीका नहीं है कि इसे कैसे संशोधित किया जा सकता है।

समाधान:

  • androidTest
  • निकालने में टिप्पणी बाहर टूटी हुई फ़ाइलें/नाम बदलने androidTest निर्देशिका
  • Android plugin for Gradle साथ निर्माण परियोजना और सभी आदेशों गुजर, के अलावा संबंधित लोगों से InstrumentalTests
  • से बचने मेकिंग/समाधान के पुनर्निर्माण, बस (अगर यह अभी तक मौजूद नहीं है) एंड्रॉयड आवेदन विन्यास, वाद्य परीक्षण

मुझे आशा है कि, यह मदद करता है बिना जोड़ सकते हैं और एप्लिकेशन को स्वयं का निर्माण।

+0

_ _ androidTest को _ _ के साथ प्रस्तुत करने के साथ चला गया। एंड्रॉइड स्टूडियो के भीतर डीआईआर का नाम बदलने का तरीका नहीं देख सका, इसलिए मैंने इसे emacs में किया – bph

2

कोई भी यह उपयोगी पा सकता है: यदि आप JUnit का उपयोग कर रहे हैं तो @Ignore कमांड है, आप संपूर्ण परीक्षण विधि को अनदेखा करने के लिए एक परीक्षण विधि डाल सकते हैं।

उदाहरण:

@Ignore("This test will be ignored") 
@Test 
public void my_test_method() { 
    // test code here... 
} 
2

को अपने ऐप्लिकेशन के Gradle स्क्रिप्ट में इस कोड डालें:

tasks.whenTaskAdded { task -> 
    if (task.name.equals("lint")) { 
     //this is for speed up build 
     task.enabled = false 
    } 
    if(task.name.contains("Test")) 
    { 
     //this is what you need 
     task.enabled = false 
    } 
} 

Gradle एक काम, इस कोड ll जांच कार्यों नाम जोड़ते हैं। यदि यह कार्य 'लिंट' (check here) है जिसे हर निर्माण की आवश्यकता नहीं है। यदि इस कार्य में 'कार्य' शब्द है, तो हम अगर चाहें तो छोड़ सकते हैं।

:app:preDebugAndroidTestBuild SKIPPED 
:app:compileDebugAndroidTestAidl SKIPPED 
:app:processDebugAndroidTestManifest SKIPPED 
:app:compileDebugAndroidTestRenderscript SKIPPED 
:app:generateDebugAndroidTestBuildConfig SKIPPED 
:app:generateDebugAndroidTestResValues SKIPPED 
:app:generateDebugAndroidTestResources SKIPPED 
:app:mergeDebugAndroidTestResources SKIPPED 
:app:splitsDiscoveryTaskDebugAndroidTest SKIPPED 
:app:processDebugAndroidTestResources SKIPPED 
:app:generateDebugAndroidTestSources SKIPPED 

मुझे नहीं पता कि ये कार्य क्या हैं। लेकिन जब मैं अपनी परियोजना पर छोड़ देता हूं तो गति से कुछ भी प्रभाव नहीं पड़ता है (ज्यादा नहीं क्योंकि मेरे पास टेस्ट फाइल नहीं है) जो कि ग्रेन बिल्ड सिस्टम पर दर्द है।

मुझे उम्मीद है कि यह आपकी मदद करेगा।

+0

कोड-केवल उत्तर निराश हैं क्योंकि वे यह नहीं समझते कि वे इस मुद्दे को कैसे हल करते हैं। कृपया यह बताने के लिए अपना उत्तर अपडेट करें कि यह इस प्रश्न के पहले स्वीकृत और उल्लिखित उत्तरों पर कैसे सुधार करता है। कृपया समीक्षा करें [मैं एक अच्छा जवाब कैसे लिखूं] (https://stackoverflow.com/help/how-to-answer)। – FluffyKitten

+0

टिप्पणी के लिए धन्यवाद। मैं धीरे-धीरे बढ़ने के लिए नया हूँ। इसके अलावा मेरी अंग्रेजी विवरण बताने के लिए पर्याप्त नहीं है। मुझे हर समय साइट से मदद मिल रही है। मैंने सोचा कि यह किसी की मदद कर सकता है, किसी भी तरह। यदि आप चाहें तो मैं इसे हटा सकता हूं। – burakokur

+0

अपना उत्तर अपडेट करने के लिए धन्यवाद! अपनी अंग्रेजी के बारे में चिंता न करें, अन्य उपयोगकर्ता इसे तब तक सुधारने के लिए संपादित कर सकते हैं जब तक हम समझ सकें कि आप क्या समझाने की कोशिश कर रहे हैं :) – FluffyKitten

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