2012-04-11 15 views
5

द्वारा टेस्ट केस निष्पादित करने का निर्धारण करना मैं कोड बनाने और 200 परीक्षण मामलों को निष्पादित करने के लिए क्रूज़ कंट्रोल का उपयोग कर रहा हूं।वर्तमान में नूनिट

कभी-कभी परीक्षण परीक्षण मामलों के कारण बिल्ड लटका दिया जाता है और मैं यह निर्धारित करने में सक्षम नहीं हूं कि यह कौन सा परीक्षण मामला है।

वर्तमान परीक्षण केस कोड को संशोधित किए बिना वर्तमान में निष्पादन परीक्षण केस का नाम प्रिंट करना संभव है?

यदि हां, तो कैसे?

उत्तर

1

TestContext.CurrentContext.Test.Name वर्तमान में निष्पादन परीक्षण मामले की पहचान करने में मदद करेगा।

Console.WriteLine("Currently Executing Test Case : " + TestContext.CurrentContext.Test.Name); 

सेटअप विशेषता के साथ विधि में वर्तमान में निष्पादित यूटी प्रिंट करेगा।

4

मुझे लगता है कि आप अपने परीक्षण करने के लिए एनयूनीट का उपयोग कर रहे हैं। यदि ऐसा है, तो CruiseControl कॉन्फ़िगरेशन में <nunit> ब्लॉक का उपयोग करने के बजाय, <exec> कार्य का उपयोग करें। <buildArgs> तत्व में,/लेबल कमांड लाइन तर्क शामिल करें। यह सर्वर लॉग को जानकारी प्रिंट करेगा।

उपयोग करने के बजाय

:

<nunit> 
    <path>C:\Program Files (x86)\NUnit 2.5.10\bin\net-2.0\nunit-console.exe</path> 
    <assemblies> 
     <assembly>C:\Projects\Personal\MyTestApp\MyTestApp.Tests\bin\Debug\MyTestApp.Tests.dll</assembly> 
    </assemblies> 
</nunit> 

उपयोग:

<exec> 
    <executable>C:\Program Files (x86)\NUnit 2.5.10\bin\net-2.0\nunit-console.exe</executable> 
    <buildArgs>/labels C:\Projects\Personal\MyTestApp\MyTestApp.Tests\bin\Debug\MyTestApp.Tests.dll</buildArgs> 
</exec> 

मैं जानता हूँ कि यह आदर्श नहीं है, लेकिन के रूप में यह लॉग को चलाता है यह प्रत्येक परीक्षा प्रिंट होगा। फिर आप अपने निर्माण लॉग में nunit द्वारा xml फ़ाइल आउटपुट को मर्ज करने के लिए मर्ज कार्य का उपयोग कर सकते हैं।

पहले सीसीनेट कंसोल एप्लिकेशन का उपयोग करके ऐसा करने का प्रयास करें, ताकि आप वास्तविक समय में आउटपुट देख सकें। यह आपको यह देखने में मदद करनी चाहिए कि आप क्या देख रहे हैं।

यह भी "\ NUnitArgument.cs परियोजना \ कोर \ कार्य" फ़ाइल में निम्न पंक्ति जोड़ने के लिए CruiseControl के लिए एक पैच प्रस्तुत करने के लिए अच्छा हो सकता है:

line: 53   argsBuilder.AddArgument("/labels"); 

या आप सिर्फ इतना है कि लाइन जोड़ सकता है, क्रूज़ कंट्रोल बनाएं और अपना खुद का संस्करण इस्तेमाल करें।

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