2012-11-19 25 views
9

में कस्टम परीक्षण परिणामों को प्रदर्शित करना मैंने हाल ही में एक मेवेन पीओएम में कुछ पायथन यूनिट परीक्षण जोड़े हैं, लेकिन मुझे लगता है कि निर्माण के दौरान परीक्षणों के परिणामों की रिपोर्ट करने के लिए जेनकिन्स नहीं मिलते हैं।जेनकिन्स मेवेन जॉब

मैं "परीक्षण" चरण के दौरान exec-maven-plugin के साथ मेवेन से nose परीक्षण चला रहा हूं। परीक्षण जेनकींस नौकरी से सफलतापूर्वक चलाए जाते हैं और एक xUnit संगत परीक्षण रिपोर्ट लक्ष्य/surefire-reports/TEST-nosetests.xml पर उत्पन्न करते हैं, लेकिन जेनकिंस परिणाम पर नहीं उठाते हैं।

------------------------------------------------------- 
T E S T S 
------------------------------------------------------- 
There are no tests to run. 

Results : 

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0 

[INFO] 
[INFO] --- exec-maven-plugin:1.1.1:exec (nosetests) @ server --- 
[INFO] ................ 
[INFO] ---------------------------------------------------------------------- 
[INFO] Ran 16 tests in 194.799s 
[INFO] 
[INFO] OK 
[INFO] Registering compile source root /Volumes/Data/workspace/myProject/target 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 

तो यह जेनकींस परिणाम नहीं देख के साथ एक समस्या है, या Maven वास्तविक परीक्षण के रूप में मेरे टेस्ट स्वीट इलाज नहीं के साथ:

दिलचस्प है, Maven भी कोई परीक्षण टेस्ट स्वीट निष्पादित करने से पहले चलाने की रिपोर्ट?

उत्तर

18

मैंने "maven2/3" प्रोजेक्ट की बजाय जेनकिन्स में "फ्री-स्टाइल सॉफ्टवेयर प्रोजेक्ट" का उपयोग करके इस समस्या के माध्यम से काम किया।

New Project

तहत बिल्ड, निर्माण कदम जोड़ें और कॉन्फ़िगर करने के लिए परियोजना उच्च-स्तरीय Maven को लक्षित करता आह्वान चुनें। मैं परीक्षण लक्ष्य का उपयोग कर रहा हूं।

Invoke top-level Maven targets

अंत में, के तहत कार्रवाई के बाद निर्माण बाद निर्माण कार्रवाईकी JUnit परीक्षा परिणाम रिपोर्ट प्रकाशित करें और अपने परीक्षण से XUnit उत्पादन में यह बिंदु जोड़ें। यह विकल्प कुछ कारणों से मेवेन 2/3 नौकरियों के लिए उपलब्ध नहीं है।

Publish JUnit test result report

+3

मुझे लगता है कि जेनकिन्स-9980 बग से संबंधित है। https://issues.jenkins-ci.org/browse/JENKINS-9980 – Jmini

-1

जैसा कि आप टेस्ट रन आउटपुट में देख सकते हैं कि मैवेन ने टेस्ट के रूप में परीक्षणों को पहचाना नहीं था। इसके अलावा जेनकींस में नतीजे देखने के लिए आपको यह जांचने की ज़रूरत है कि क्या नाप जूनिट संगत आउटपुट परिणाम फाइल (जो मुझे लगता है) बना सकता है जिसे जेनकिंस द्वारा पढ़ा जा सकता है और निश्चित रूप से प्रदर्शित किया जा सकता है।

+1

नाक संगत उत्पादन उत्पन्न कर सकते हैं, जैसा कि मैंने सवाल में कहा गया है देखें। समस्या यह है कि मैं जेनकिन्स को रिपोर्ट करने के लिए आउटपुट देखने के लिए मेवेन नहीं मिला। मेरा खुद का जवाब दिखाता है कि मैवेन के आसपास कैसे जाना है और सीधे रिपोर्ट देखने के लिए जेनकींस प्राप्त करें। – bpanulla

2

bpanulla द्वारा जवाब पर निर्माण करने के लिए, यदि आप अपनी परियोजना के एक से अधिक उप निर्देशिका में परीक्षण है, तो आप इस तरह के रूप "टेस्ट रिपोर्ट XMLs" फ़ील्ड में, में एक वाइल्डकार्ड का उपयोग कर सकते हैं: **/target/surefire-reports/*.xml

+0

यह मेरे लिए धन्यवाद – Chandru

1

यदि आपके पास एक मुक्त प्रोजेक्ट का उपयोग करके अधिक मॉड्यूलर जेनकिन्स सेटअप है, तो सही ढंग से सबमिड्यूल नहीं बनाएगा। यदि मैवेन-प्लगइन जो रिपोर्ट निष्पादन आईडी उत्पन्न करता है e2eTests है, तो अपने pom.xml पर निम्न स्निपेट जोड़ें और जेनकिन्स मेवेन प्लगइन बाकी का ख्याल रखेगा!

<properties> 
    <jenkins.e2eTests.reportsDirectory>target/protractor-reports</jenkins.e2eTests.reportsDirectory> 
</properties> 

https://wiki.jenkins-ci.org/display/JENKINS/Building+a+maven2+project