2011-06-06 19 views
24

संभव डुप्लिकेट के लिए:
Android test code coverage, Eclipseकोड कवरेज एंड्रॉयड

इसकी वास्तव में देखना चाहते हैं कि ग्रहण में Android ऐप्लिकेशन के लिए एम्मा का उपयोग करने के लिए कोई प्रलेखन है निराशा होती। क्या कोई एंड्रॉइड ऐप्स के लिए ग्रहण में ईएमएमए के साथ काम करने में कामयाब रहा है? पूरे एंड्रॉइड स्रोत की जांच किए बिना और सभी हैकरी करें?

+1

मैं ग्रहण के बाहर यह सेटअप है, लेकिन हाँ ग्रहण में apk निर्माण चरणों में यह एकीकृत करने के लिए के रूप में, मुझे लगता है कि आप एडीटी lib एंड्रॉयड के स्रोत पेड़ में है कि उपयोग करने के लिए हो सकता है: (मुझे ऐसा करने का कोई तरीका नहीं मिला है। लेकिन मुझे आईडीई के माध्यम से कवरेज विश्लेषण के साथ स्वचालित परीक्षण चलाने के रूप में सहायक के रूप में इंटरैक्टिव कवरेज नहीं मिला है (यह उस तरह से ट्रैक करने योग्य है)।मैं चींटी के माध्यम से सब कुछ करता हूँ। अगर यह यहां मदद करता है, तो http://stackoverflow.com/questions/4073681/is-it-possible-to-simply-compile-an-emma-instrumented-apk-using-android-build-xml –

उत्तर

2

यदि आपके पास <path to test project>/build.xml फ़ाइल नाम बदलने के लिए उम्मीद है।

मैं क्रियान्वित कंसोल से पालन करते हुए परीक्षण कवरेज रिपोर्ट उत्पन्न करने में सक्षम था:,

<path to android tools>android update test-project -m <path to app project> -p <path to test project> + दर्ज

cd <path to test project> + दर्ज करें,

ant emma debug install test + दर्ज,

जहां <path to android tools>/opt/android-sdk-linux/tools/ मेरी मशीन पर है - फ़ोल्डर जहां एंड्रॉइड एसडीके स्थापित है।

यह <path to test project>/bin/coverage.html फ़ाइल जेनरेट की गई।

यदि आप प्राप्त "गलत JAVA_HOME" त्रुटि, निष्पादित gksu gedit /etc/environment + , सही JAVA_HOME दर्ज करें, फ़ाइल को सहेजने लॉग आउट या रिबूट और फिर कोशिश करें।

स्रोत: http://blog.rabidgremlin.com/2010/11/19/android-tips-generating-a-coverage-report-for-your-unit-tests/

1

दुर्भाग्य से मेरा मानना ​​है कि ईएमएमए एसडीके के माध्यम से विकसित ऐप्स पर लागू नहीं है। यह तब तक है जब तक कि मैंने विषय पर अंतिम बार पढ़ा नहीं है। टूल्स को ओएस के साथ उपयोग के लिए डिज़ाइन किया गया है और इस तरह आपके एपीके के साथ इसका उपयोग करने का कोई तरीका नहीं है जिसे मैं जानता हूं।

आपको निम्न संबंधित पोस्ट उपयोगी मिल सकता है - EMMA Code Coverage in Android

2

यह सीधे आपके प्रश्न का उत्तर नहीं है, लेकिन मैं आपको Robolectric के साथ परीक्षण लेखन पर एक नज़र लेने के लिए सुझाव है: http://pivotal.github.com/robolectric/

Robolectric साथ

, आप JVM के बजाय Delvik वी एम के अंदर चल रहे अपने परीक्षण लिख सकते हैं। इसका मतलब है कि आप जावा के लिए लगभग किसी भी कोड कवरेज टूल का उपयोग कर सकते हैं। आपको अपना कोड थोड़ा सा बदलना पड़ सकता है ताकि आप अपना रोबोलेक्ट्रिक लिख सकें, और आपने रोबॉलेक्ट्रिक को भी हैक करना शुरू नहीं किया है। मेरे लिए, यह परीक्षण लिखने का एक बेहतर तरीका है।