2008-12-09 11 views
19

क्या एमएस टेस्ट के साथ Hudson एकीकृत करना संभव है?एमएस टेस्ट के साथ हडसन को एकीकृत करना?

मैं अभी अपनी हडसन के साथ अपनी विकास मशीन पर एक छोटा सीआई सर्वर स्थापित कर रहा हूं, बस इतना है कि मेरे पास कुछ आंकड़े हो सकते हैं (यानी FxCop और कंपाइलर चेतावनियां)। बेशक, यह भी अच्छा होगा अगर यह सिर्फ मेरे यूनिट परीक्षण चला सकता है और अपना आउटपुट पेश कर सकता है।

अभी तक, मैंने हडसन को निम्नलिखित बैच कार्य जोड़ा है, जो इसे परीक्षणों को ठीक से चलाता है।

"%PROGRAMFILES%\Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe" /runconfig:LocalTestRun.testrunconfig /testcontainer:Tests\bin\Debug\Tests.dll 

हालांकि, जहां तक ​​मुझे पता है, हडसन एमएस टेस्ट परिणामों के विश्लेषण का समर्थन नहीं करता है। क्या किसी को पता है कि MSTest.exe द्वारा उत्पन्न टीआरएक्स फाइलों को JUnit या NUnit परिणाम प्रारूप में परिवर्तित किया जा सकता है (क्योंकि वे हडसन द्वारा समर्थित हैं), या क्या हडसन के साथ एमएस टेस्ट यूनिट परीक्षणों को एकीकृत करने का कोई और तरीका है?

उत्तर

16

हडसन के पास एमएसटीएस्ट के लिए एक नई प्लगइन है। बस .trx फ़ाइल का स्थान निर्दिष्ट करें और आपके लिए काम किया जाता है। अगर प्लगइन एलन के समाधान का इस्तेमाल करता है तो यह मुझे आश्चर्य नहीं करेगा।

+0

अच्छा है, मुझे यह देखना होगा कि यह देखने के लिए कि क्या यह मेरे समाधान में कोई कार्यक्षमता नहीं जोड़ता है । –

+0

वाह, मैं इसे जारी किए जाने से कैसे चूक सकता हूं? मुझे लगता है कि मैं कल कोशिश करूँगा। – hangy

+0

मुझे लगता है कि यह प्लगइन अब मेरी आवश्यकताओं को बहुत अधिक कवर करता है। अगर किसी को कुछ और परिष्कृत की जरूरत है, तो, एलन के सुझाव को आज़माएं। – hangy

0

हडसन के पास Plot Plugin है जिसका उपयोग सामान्य डेटा को साकार करने के लिए किया जा सकता है। यदि आपके पास ग्राफ प्रति एकाधिक डेटा पॉइंट हैं, तो कॉन्फ़िगर करने और उपयोग करने के लिए यह सबसे आसान प्लगइन नहीं है, लेकिन यदि आप अपने एमएस टेस्ट आउटपुट को पार्स कर सकते हैं और प्लगइन के लिए इनपुट फाइल जेनरेट कर सकते हैं, तो आप कम से कम साजिश में सफल, सफल, और कुल परीक्षण

+0

संकेत के लिए धन्यवाद। यह एक अंतिम उपाय की तरह लगता है - XSLT या तो का उपयोग कर टीआरएक्स (एक्सएमएल) को जुनीट/एनयूनिट प्रारूप में बदलना आसान हो सकता है। – hangy

0

मैं ऐतिहासिक प्रयोजनों के लिए एमएस टेस्ट परिणामों के विश्लेषण करने के लिए हडसन का उपयोग करने में सक्षम नहीं हूं, लेकिन कम से कम यह पता लगाने में सक्षम रहा है कि यदि आप एमएसबिल्ड और एक्ज़ेक कार्य का उपयोग करते हैं, तो हडसन बिल्ड ठीक से होगा यदि कोई परीक्षण विफल हो जाता है तो "असफल" के रूप में चिह्नित किया जाए।

<Exec Command=""C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\mstest.exe" /testcontainer:"MyAssembly.dll"" /> 
17

मैं एक गाइड के रूप में यह लिख और एक प्लगइन विकसित करने के लिए किया गया है, जिसका अर्थ है, लेकिन मैं चारों ओर करने के लिए मिल गया नहीं किया। मुझे पता है कि यह सवाल पुराना है, लेकिन मुझे यकीन है कि कोई और चीज चाहता है, वैसे ही यह वही है।

हडसन पर परियोजना विन्यास में:

निष्पादित विंडोज बैच आदेश


SET MSTest="C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe" 
SET XSLParser="C:\MsBuildNunit\msxsl.exe" 

SET TestDLL=path-to-your-test-projects.dll 
SET TestOutFILE=TestResults\some-unique-filename.trx 
SET TransformedOutputFile=%TestOutFILE:.trx=%.xml 
SET XSLFile=c:\MsBuildNunit\MSBuild-to-NUnit.xslt 

MKDIR TestResults 

%MSTest% "/testcontainer:%TestDLL%" /nologo /resultsfile:%TestOutFILE% 

%XSLParser% %TestOutFILE% %XSLFile% -o %TransformedOutputFile% 

SET ERRORLEVEL=0 

फिर बॉक्स की जांच "NUnit परीक्षा परिणाम रिपोर्ट प्रकाशित करें" और "टेस्ट रिपोर्ट XMLs" दर्ज

के लिए
TestResults/*.xml

सी में एक एक्सएसएलटी है: \ MsBuildNunit के साथ-साथ msxsl.exe जो माइक्रोसॉफ्ट से आता है।

आप MSBuild करने वाली NUnit.xslt से here डाउनलोड करने और से माइक्रोसॉफ्ट here msxsl.exe मिलता है या आप बस अपना MsBuildNunit फ़ोल्डर की ज़िपित प्रतिलिपि कि xslt और exe here शामिल प्राप्त कर सकते हैं कर सकते हैं

रन करते समय, यह MSTest.exe को कॉल करता है जो परीक्षण चलाता है और microsofts trx (xml) प्रारूप में प्रारूप को आउटपुट करता है। फिर यह msxsl.exe को xslt और trx के साथ कॉल करता है और इसे nunits xml प्रारूप में अनुवाद करता है। निर्माण के अंत में, हडसन इसे किसी भी अन्य नुनिट परीक्षा परिणाम के रूप में उठाता है और आप जाने के लिए अच्छे हैं।

जोड़ने के लिए संपादित: मैं इसका उल्लेख करना भूल गया, इस xslt के साथ हमें पूर्ण परीक्षण परिणाम मिलते हैं।हमारे पास कई परीक्षण परियोजनाएं और एकाधिक डीएल हैं और हमें ग्राफ को प्रवृत्त करने, नाम से परीक्षण देखने, परीक्षण की स्थिति देखने के लिए और यदि त्रुटियों में हमें स्टैक ट्रेस के साथ त्रुटि संदेश मिलता है, तो हमें बहुत अच्छी प्रतिक्रिया मिलती है। असल में लगभग हर चीज जो आपको नुनिट के साथ मिलती है।

संपादित करें (दोबारा): मैंने अभी ट्रांसफॉर्म में परीक्षण अवधि जोड़ा है, इसलिए यह अब हडसन में दिखाई देगा! हमारे परीक्षणों के लिए महान काम करने लगता है।

संपादित करें: मैंने नई एमएसटीएस्ट प्लगइन की कोशिश की है और वर्तमान में यह एकाधिक टीआरएक्स फाइलों को पार्सिंग का समर्थन नहीं करता है, इसलिए वर्तमान में यह हमारा एकमात्र समाधान है यदि आप हमारे जैसे हैं और आपको कई टेस्ट असेंबली हैं जिन्हें आपको एमएसटीएस्ट के माध्यम से चलाने के लिए है ।

+0

यह बहुत अच्छा लग रहा है, धन्यवाद! मैं इसे एक नया एमएसटीएस्ट प्लगइन पेश करने के आधार पर कल कोशिश कर सकता हूं। – hangy

+0

मुझे अभी पता चला है कि एमएसटीएस्ट प्लगइन एकाधिक ट्रिक्स फ़ाइलों को पार्सिंग का समर्थन नहीं करता है, इसलिए इस समाधान पर कुछ ऐसा है। –

+1

जेनकींस एमएसटीएस्ट प्लगइन कई टीआरएक्स फाइलों का समर्थन करता है, अब: https://issues.jenkins-ci.org/browse/JENKINS-8520 – exclsr

2

मैं परीक्षण मामलों के सफलतापूर्वक चलाने और विश्लेषण/प्रकाशित करने के लिए "हैंडीज" कमांड लाइन और एमएसटीएस्ट प्लगइन की विविधता का उपयोग करने में सक्षम हूं। मैंने जो सबसे बड़ा परिवर्तन किया था वह mstest.exe के लिए आउटपुट फ़ाइल निर्दिष्ट करना था और उस फ़ाइल का उपभोग करने के लिए एमएसटीएस्ट प्लगइन से पहले (कोई वाइल्डकार्ड अनुमति नहीं है ... वास्तविक फ़ाइल नाम होना चाहिए)।

"%PROGRAMFILES%\Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe" /runconfig:LocalTestRun.testrunconfig /testcontainer:MyProject1.Test/bin/Debug/MyProject1.Test.dll /testcontainer: MyProject2.Test/bin/Debug/MyProject2.Test.dll /resultsfile:TestResults\HudsonJobTestResults.trx 

बाहर निकलने 0

सूचना है कि "परिणाम फ़ाइल" नौकरी के कार्यक्षेत्र के सापेक्ष है: उदाहरण के लिए, निम्नलिखित अपने कस्टम निर्माण कदम है। इस प्रकार, एमएसटीएस्ट प्लगइन की परिणाम फ़ाइल पार्स करने के लिए है:

TestResults\HudsonJobTestResults.trx 

और यही वह है!

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