android - एंड्रॉइड स्टूडियो का उपयोग कर कोड कवरेज कैसे प्राप्त करें?




gradle code-coverage (4)

मैं एंड्रॉइड स्टूडियो का उपयोग कर एप्स विकसित कर रहा हूं।
मैं टेस्ट कोड चलाने में सक्षम था।
लेकिन, मुझे नहीं पता कि एंड्रॉइड स्टूडियो में कोड कवरेज कैसे प्राप्त करें।

मैंने पहले से ही निम्नलिखित लिंक देखे हैं।
एंड्रॉइड ग्रैडल कोड कवरेज
लेकिन मैं v0.6 समर्थन emma के लिए अद्यतन के लिए इंतजार नहीं कर सकता।

परियोजना विन्यास निम्नानुसार है।

मुख्य कोड
MyProject / AppName / src / मुख्य / जावा / mypackage / MyClass.java

टेस्ट कोड
MyProject / AppName / src / instrumentTest / जावा / mypackage / परीक्षण / MyClassTest.java

परियोजना विन्यास
मेरी परियोजना
├─build.gradle
└─AppName
├─build.gradle
└─src
├─main
│ ├─java
│ │ └─mypackage
│ │ └─ MyClass.java
│ ├─res
│ └─AndroidManifest.xml
└─instrumentTest
└─java
└─mypackage
└─test
└─MyClassTest.java


एंड्रॉइड स्टूडियो ग्रेडल में अंतर्निहित जैकोको प्लगइन है जिसका उपयोग आप कोड कवरेज ढूंढने के लिए कर सकते हैं। मैंने एस्प्रेसो टेस्ट केस के लिए कोड कवरेज खोजने के लिए चरण-दर-चरण कॉन्फ़िगर करने के लिए आलेख के रूप में लिखा है लेकिन आप इसे रोबोटियम के लिए भी उपयोग कर सकते हैं। इसकी जांच करें।

http://qaautomated.blogspot.in/2016/03/how-to-find-code-coverage-with-jacoco.html


एंड्रॉइड स्टूडियो प्रोजेक्ट में jacoco प्लगइन को लागू करने के तरीके के बारे में बहुत सारे जवाब दिखाए जा रहे हैं, जो पुराने हैं और हाल ही में एंड्रॉइड स्टूडियो (मेरा एंड्रॉइड स्टूडियो संस्करण 2.1.2) के समाधान को समझने के लिए मुझे इतना समय बर्बाद कर दिया गया है।

  • Jacoco प्लगइन एंड्रॉइड स्टूडियो Jacoco लिए बनाया गया है, आपको जो करना है वह बस इसे निम्न जैसा सक्षम बनाता है:
  buildTypes {
    ...
    debug {
      testCoverageEnabled true
    }
  }
  • ऊपर दिए जाने के बाद, इकाई परीक्षण कार्य ./gradlew testDebugUnitTest

  • फिर कवरेज फाइलें बनाएं: ./gradlew createDebugCoverageReport

  • कवरेज फाइलों को <module>/build/reports/coverage/debug फ़ोल्डर के तहत बनाया जाएगा, index.html , जिसे आप ब्राउज़र के साथ खोल सकते हैं, और report.xml जिसे आप jenkins jacoco plugin या अन्य द्वारा रिपोर्ट प्राप्त करने के लिए उपयोग कर सकते हैं एकीकरण उपकरण जारी है।

jenkins jacoco plugin साथ 0% कवरेज प्राप्त करने वालों के लिए, सही संस्करण का उपयोग करना सुनिश्चित करें। उनकी साइट से उद्धरण:

दुर्भाग्यवश JaCoCo 0.7.5 jacoco.exec फ़ाइलों के पिछले बाइनरी प्रारूपों के लिए संगतता को तोड़ देता है। जाकोको प्लगइन संस्करण 1.0.1 9 तक है जो जैकोओ 0.7.4 पर आधारित है, इस प्रकार आप इस संस्करण का उपयोग उन परियोजनाओं के साथ नहीं कर सकते जो पहले से ही जैकोओ 0.7.5 या नए का उपयोग करते हैं। संस्करण 2.0.0 के साथ शुरू होने वाली JaCoCo प्लगइन JaCoCo 0.7.5 का उपयोग करता है और इस प्रकार इस संस्करण को आपकी परियोजनाओं में भी उपयोग करने की आवश्यकता होती है। यदि आप अभी भी JaCoCo 0.7.4 या उससे कम का उपयोग करते हैं तो कृपया JaCoCo प्लगइन 1.0.19 या उससे कम तक चिपके रहें


नए एंड्रॉइड स्टूडियो 1.2 के साथ, आप अपने यूनिट परीक्षण चलाने और आईडीई के भीतर कवरेज देखने में सक्षम हैं।

सबसे पहले, आपको आईडीई में अपना यूनिट परीक्षण चलाना होगा। (यदि आप पहले से ही कर सकते हैं, तो इस चरण को छोड़ दें)

यह guide और demo आपकी मदद करेगा।

दूसरा, आपको एक जुनीट रन कॉन्फ़िगरेशन बनाना होगा

इस कॉन्फ़िगरेशन के अंदर, आप चुनने में सक्षम होंगे

  • टेस्ट प्रकार: "पैकेज में सभी"
  • पैकेज: [पैकेज जहां आपके परीक्षण रहते हैं, उदाहरण के लिए: "com.myapp.tests"]
  • परीक्षणों के लिए खोजें: मॉड्यूल निर्भरता के पार (आपके सेटअप के लिए भिन्न हो सकता है)
  • वीएम-विकल्प: -ईए
  • कार्य निर्देशिका: [आपकी परियोजना की निर्देशिका]
  • मॉड के क्लासपाथ का प्रयोग करें: [अपना मॉड्यूल चुनें]

अगर आपको अपने जुनीट रन कॉन्फ़िगरेशन बनाने में कोई समस्या है, तो आपको सहायता के लिए this मार्गदर्शिका पर जाना चाहिए।

अंत में, नवीनतम एंड्रॉइड स्टूडियो में, आपको 'कवर के साथ रन' बटन पर क्लिक करके अपने जुनीट-रन कॉन्फ़िगरेशन को चलाने में सक्षम होना चाहिए।

एंड्रॉइड स्टूडियो 2.1.3 में Run Unit tests with Coverage लेबल Run Unit tests with Coverage जहां Unit test आपके परीक्षण कॉन्फ़िगरेशन का नाम है जैसा कि निम्न स्क्रीनशॉट में दिखाया गया है:


मुझे नहीं लगता कि आप एंड्रॉइड स्टूडियो के अंदर विजुअल कोड कवरेज रिपोर्ट देख सकते हैं। लेकिन आप Jacoco कोशिश कर सकते हैं। आपको इसे अपनी build.gradle फ़ाइल में एकीकृत करने की आवश्यकता होगी। आप यहां समान प्रश्न और समाधान पा सकते हैं





android-studio