2012-06-08 10 views
10

आमतौर पर मैं adb shell am instrument -w com.android.contacts.tests/android.test.InstrumentationTestRunner का उपयोग कर एक जूनिट परीक्षण चलाता हूं। और यह वास्तव में काम करता है, यह मेरे सभी परीक्षण चलाएगा।क्या जूनिट टेस्ट चलाने पर एंड्रॉइड के लिए डिबग मोड दर्ज करना संभव है?

लेकिन जब मैं ब्रेकपॉइंट करता हूं और जूनिट चलाने पर डीबग मोड में प्रवेश करना चाहता हूं, तो यह असफल रहा। जब मैं सामान्य एंड्रॉइड ऐप डीबग करता हूं तो ब्रेकपॉइंट्स बनाने का तरीका काम करता है।

तो मैंने वेब की खोज की, और adb shell am instrument -e debug true -e class com.android.contacts.AndroidUtilsTest -w com.android.contacts.tests/android.test.InstrumentationTestRunner जैसे कुछ कोशिश करें, लेकिन अभी भी भाग्य के बिना। आप इस समस्या को कैसे हल करते हैं? मैं सिर्फ जूनिट कक्षा को डीबग नहीं करना चाहता, बल्कि सामान्य परियोजना में कोड भी बनाना चाहता हूं।

उत्तर

2

मुझे अभी जवाब मिला। जब मैं उपकरण शुरू करता हूं तो यह अवरुद्ध होगा क्योंकि यह मेरे लिए ब्रेकपॉइंट सेट करने का इंतजार कर रहा है। तो मैं ब्रेकपॉइंट बनाने के बाद, जूनिट दौड़ना शुरू कर देता है। तो एक एंड्रॉइड जूनिट प्रोजेक्ट डीबग करने का अनुक्रम है:

  1. डीबग सेट के साथ प्रारंभ उपकरण शुरू करें।
  2. कमांड लाइन या ग्रहण का उपयोग कर ब्रेक पॉइंट बनाएं।
  3. उपकरण स्वचालित रूप से चलना शुरू हो जाएगा।
+0

जेटब्रेन आइडिया के मामले में: 1. डीबग सेट के साथ उपकरण शुरू करें। 2. अपने आवेदन की प्रक्रिया के लिए डीबगर संलग्न करें 3. परीक्षण – molokoka

+3

शुरू होगा आपका क्या मतलब है "डीबग सेट सही"? यह सेटिंग कहां है? –

7

मुझे लगता है कि आप एक्लिप्स का उपयोग करके अपने परीक्षणों को डीबग करने का प्रयास कर रहे हैं। यदि ऐसा है तो आप केवल टेस्ट प्रोजेक्ट का चयन कर सकते हैं, राइट क्लिक करें, डीबग के रूप में ... -> एंड्रॉइड जुनीट टेस्ट और निष्पादन आपके परीक्षणों में या आपके कोड में सेट ब्रेकपॉइंट्स पर रुक जाएगा।

+0

दरअसल, मैं इन सभी नौकरी कमांड लाइन में करता हूं। शायद ग्रहण में, आपकी विधि काम करेगी। –

0

एंड्रॉइड जुनीट टेस्ट डीबग करने के लिए टेस्टेबल प्रोजेक्ट में debuggable=true डालना न भूलें।

+0

दरअसल, ऐसा मत करो। निर्माण उपकरण आपके लिए यह करेंगे। – Christine

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