2012-09-11 27 views
7

मैं एक .NET प्रोजेक्ट पर काम कर रहा हूं जो सीआई सर्वर के रूप में Jenkins का उपयोग करता है। सर्वर काम कर रहा है जैसा कि यह माना जाता है लेकिन अब मैं इसे कम कोड कवरेज के मामले में अलर्ट उत्सर्जित करने का प्रयास कर रहा हूं।क्या ओपनकॉवर से जेनकिंस में जेनरेट किए गए कोड कवरेज मीट्रिक को पुनर्प्राप्त करने का कोई तरीका है?

दृष्टिकोण है कि मैं कोशिश कर रहा हूँ Sonar उपयोग करने के लिए NUnit और OpenCover निष्पादित करने के लिए है, लेकिन मैं कोड कवरेज Jenkins को वापस Sonar से मैट्रिक्स से जोड़ने के लिए की जरूरत है और है कि जहां समस्या रहता है।

OpenCover (कवरेज-report.xml) से उत्पन्न रिपोर्ट के रूप में है, Jenkins से मान्यता प्राप्त नहीं है AFAIK तो मुझे क्या करना कोशिश कर रहा हूँ उन्हें एक XSL फ़ाइल है कि (कवरेज बदल देती द्वारा बात करने के लिए है -report.xml) से (emma-report.xml) कि Jenkins में प्लगइन हैं जो समझते हैं।

हालांकि मुझे नहीं पता कि यह सबसे अच्छा तरीका है। बेहतर दृष्टिकोण स्वागत से अधिक हैं;) मुझे ओपनकॉवर से block coverage मीट्रिक प्राप्त करने में समस्या का सामना करना पड़ रहा है (Emma इस मीट्रिक की आवश्यकता है)।

मैं अन्य सभी Emma करने की जरूरत class, %, method, % और line, %OpenCover की मेट्रिक को बदलने के लिए प्रबंधित किया है, लेकिन मैं अगर रिपोर्ट से block, % पाने के लिए संभव है यकीन नहीं है।

क्या कोई मुझे बता सकता है कि यह संभव है या यदि मैं क्या करने की कोशिश कर रहा हूं, तो प्राप्त करने के लिए एक बेहतर तरीका है (यानी Jenkins कोड कवरेज को एक निश्चित प्रतिशत के आधार पर अलर्ट बनाएं)?

अग्रिम धन्यवाद! :)

उत्तर

1

यदि आप सोनार गैलियो प्लगइन से ओपनकॉवर चला रहे हैं (sonar C# ecosystem से), कम कोड कवरेज पर अलर्ट प्राप्त करने का एक आसान समाधान सोनार build breaker plugin हो सकता है। जब कवरेज अलर्ट थ्रेसहोल्ड से नीचे आता है तो आपको टूटा हुआ निर्माण मिल जाएगा। यह समाधान जेनकींस में ग्राफ या रुझान प्राप्त करने की अनुमति नहीं देता है, लेकिन फिर यदि आप सोनार का उपयोग करते हैं, तो आपके पास सोनार डैशबोर्ड में सबकुछ है। आशा है कि यह मदद करता है