2012-03-23 26 views
5

मेरे पास टोमकैट पर एक वेब एप्लिकेशन तैनात है। आगे के विवरण प्राप्त करने से पहले मुझे संस्करणों का जादू करने दें।जैकोको + टोमकैट = jacoco.exec, शून्य कवरेज की रिपोर्टिंग। मदद।

संस्करण: JDK 1.7, बिलाव - 7.0.19, -0.5.6

मैं बिलाव को jdk1.7 जोड़ लिया है jacoco। मैंने जोड़ा है \ apache-tomcat-7.0.19 \ bin \ startup.bat फ़ाइल में।

SET JAVA_HOME=C:\ProgramFiles\Java\jdk1.7.0 

इसके अलावा मैंने टॉमकैट को जैकोको एजेंट जोड़ा है। अपाचे-टोमकैट-7.0.1 9 \ bin \ catalina.bat में मैंने जोड़ा है। \ Jacoco.exec फ़ाइल:

SET JACOCO=-javaagent:<my download folder>\jacoco-0.5.6.2012\lib\jacocoagent.jar=destfile=C:\jacoco.exec,append=true,includes=* 
set JAVA_OPTS=%JAVA_OPTS% %JACOCO% 

अब, जब मैं बिलाव ऊपर आग, और मेरे वेब अनुप्रयोगों मारा, उम्मीद के रूप में वहाँ एक सी है।

मैं अब निम्नलिखित निर्देशिका संरचना करने के लिए कोड स्थानांतरित कर दिया jacoco.exec /bin/ /coveragereport

अब मैं http://www.eclemma.org/jacoco/trunk/doc/examples/java/ReportGenerator.java से वर्ग ReportGenerator इस्तेमाल किया है। मुझे/कवरेज रिपोर्ट निर्देशिका में एचटीएमएल प्रारूप में रिपोर्ट का एक गुच्छा मिला है। हालांकि, सभी कोड को छुआ के रूप में दिखाया जा रहा है। हालांकि मैंने टॉमकैट को निकाल दिया है, मैं http://localhost पर गया था:/और चारों ओर ब्राउज़ किया गया। मैं एक कवरेज प्रतिशत की सूचना प्राप्त करने की उम्मीद कर रहा था।

मुझे कुछ बहुत बुनियादी याद आ रहा है। कृपया मदद करें।

उत्तर

8

टोमकैट शॉकडाउन पर जैकोको फ़ाइल लिखेंगे।

5

वैकल्पिक रूप से आप उपयोग कर सकते हैं ant dump task:

jacoco:dump address="server.example.com" reset="true" destfile="remote.exec"/> 

लेकिन वह काम करने के लिए, आप java agent के लिए output mode tcpserver निर्दिष्ट करने के लिए है के लिए।

-javaagent:[yourpath/]jacocoagent.jar=output=tcpserver,address=<host>,port=<port>,... 
+0

का उपयोग करके सुनवाई की जा सकती है, मैं सुझाए गए तरीके (टीसीपीएस सर्वर) का उपयोग करने की कोशिश कर रहा हूं, मैं जैकोको 0.6.2+ का उपयोग कर रहा हूं। मुझे डिफॉल्ट पोर्ट 6300 से कोई भी सर्वर नहीं दिखता है। जब मैं डंप कमांड चलाता हूं, तो मुझे "कनेक्शन रिफ्यूज्ड" के साथ "कवरेज डेटा डंप करने में असमर्थ" मिलता है, क्योंकि उस पोर्ट पर कुछ भी नहीं चल रहा है। क्या यह एक बग है या क्या मुझे कुछ याद आ रही है? –

+0

@ मार्सेलोडसेलस मैं भी इस मुद्दे का सामना कर रहा हूं ... जहां मुझे गलत किया जा सकता है? –

+0

@MarcellodeSales यह बहुत समय पहले है, लेकिन उत्पादन = tcpserver परिभाषित करना महत्वपूर्ण है। और हो सकता है कि पता = , पोर्ट = oers

1

6300 प्रदान किया गया एक डिफ़ॉल्ट पोर्ट है। आप बंदरगाह को बदल सकते हैं या आप netstat -an | grep "LISTEN"