2011-07-28 12 views
8

पर जाकोको जावा एजेंट का उपयोग करके मेरे आवेदन का कोड कवरेज प्राप्त करना मैं JaCoCo और सोनार टूल्स का उपयोग करके एकीकरण परीक्षण के कोड कवरेज को मापना चाहता हूं।टॉमकैट

इसके लिए, मैं JaCoCo से डंप फ़ाइल प्राप्त करने के लिए जाकोको एजेंट के साथ कॉन्फ़िगर किया गया मेरा टॉमकैट 5.5 शुरू करता हूं।

इस प्रकार, मुझे लगता है कि के लिए JAVA_OPTS सेट:

set JAVA_OPTS=-Xrs -XX:MaxPermSize=256m -XX:PermSize=256m -XX:NewRatio=3 -Xms512m -Xmx1024m -XX:+UseParallelGC -javaagent:C:\dev\servers\jacoco-agent.jar=destfile=C:\dev\servers\jacoco.exec,append=true,includes=my.application.* 

जब मैं बिलाव शुरू, C:\dev\servers\jacoco.exec फ़ाइल उत्पन्न होता है, लेकिन कोई डेटा भर जाता है।

क्या मेरे सर्वर की कॉन्फ़िगरेशन में कुछ भूल गया है?

सम्मान।

+0

हाँ, [अगर jacoco एक destfile में लॉग इन करने के लिए कॉन्फ़िगर है, यह बंद पर लिखा है] (http://car-online.fr/en/blog/fabien_duchene: प्लगइन के लिए परियोजना पर स्थित है /2013-05-03-Java%20Code%20Coverage%20in%20Tomcat%20JSP%20applications,%20e.g.,%20WebGoat%20with%20Jacoco/) –

उत्तर

4

जहां तक ​​मुझे याद है - फ़ाइल टोमकैट के शटडाउन के दौरान आबादी होगी।

+0

ठीक है, मैं इस सप्ताह कोशिश करूँगा, और आपके पास वापस आऊंगा। – romaintaz

+0

यदि आप अपने सर्वर को बंद करना नहीं चाहते हैं, जैसे हम करते हैं, तो कोबर्टुरा में एक कोबर्टुराफ्लश वेबपैप है जिसे http: // host: port/coberturaFlush/flushCobertura का उपयोग करके बुलाया जा सकता है। एक ही क्लासलोडर द्वारा लोड किया गया अपने कोबर्टुरा जार रखना सुनिश्चित करें। – Dormouse

8

मुझे एहसास हुआ कि यह सवाल 2 साल पहले एक विकल्प नहीं हो सकता था जब इस सवाल से पूछा गया था, लेकिन वर्तमान में आपके पास जैकोको निष्पादन डेटा लाने के लिए कुछ अन्य विकल्प उपलब्ध हैं जो टोमकैट को बंद किए बिना (या जैकोको जावा एजेंट के साथ किसी भी जेवीएम उपकरण)।

पहले JaCoCo जावा एजेंट के लिए वर्तमान प्रलेखन पर एक नज़र डालें: http://www.eclemma.org/jacoco/trunk/doc/agent.html

आप जावा एजेंट आदेश के लिए सुनने के लिए JaCoCo एजेंट पर = उत्पादन का उपयोग कर सकते tcpserver विकल्प। टीसीपीएस सर्वर सभी इंटरफेस पर सुनने के लिए पता = * सेट कर सकते हैं, और आप पोर्ट को चुनने के लिए पोर्ट = 6300 तर्क सेट कर सकते हैं जहां टीसीपीएस सर्वर को सुनना चाहिए।

टीसीपीएस सर्वर के माध्यम से जाकोको जावा एजेंट को जब भी आप इसके लिए पूछते हैं तो आपको डेटा भेजने के निर्देश दिए जा सकते हैं।

यदि आपका जेवीएम वर्तमान में जेएमएक्स का खुलासा कर रहा है तो आपके पास एक और विकल्प है जिसका उपयोग आप अतिरिक्त बंदरगाहों को खोलने के बिना कर सकते हैं। jmx = true विकल्प सेट करके जाकोको जावा एजेंट एक एमबीन का खुलासा करता है जिसके साथ आप बातचीत कर सकते हैं।

यदि आप मेवेन का उपयोग कर रहे हैं तो आप हाल ही में लिखे गए प्लगइन को देख सकते हैं जिसे मैंने हाल ही में जेवीओसी डेटा को दूरस्थ जेवीएम से चलाने के लिए लिखा था।
https://github.com/mattcj/jacocotogo

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

  • कोई संबंधित समस्या नहीं^_^