2008-08-22 8 views
12

अभी विज़ुअल स्टूडियो प्रोफेशनल की अंतर्निर्मित इकाई परीक्षण सुविधाओं का उपयोग करना शुरू कर दिया है, जैसा कि मैं समझता हूं, परीक्षण चलाने के लिए एमएस टेस्ट का उपयोग करता है।मैं विजुअल स्टूडियो टेस्ट परिणाम फ़ाइल (.trx) को एक और अधिक पठनीय प्रारूप में कैसे प्रारूपित करूं?

परीक्षणों का उत्पादन करने वाली .trx फ़ाइल xml है, लेकिन यह सोच रहा था कि इस फ़ाइल को और अधिक "प्रबंधक-अनुकूल" प्रारूप में बदलने का कोई आसान तरीका है या नहीं?

मेरे अंतिम लक्ष्य इकाई परीक्षण को स्वचालित और एक अच्छा देख दस्तावेज है कि पता चलता निर्माण करने के लिए सक्षम होने के लिए सक्षम होने के लिए है परीक्षण चलाने और उनमें से 100% से पारित कर दिया :)

उत्तर

8

इस फाइल के बाद से आप XML है xsl का उपयोग किसी अन्य प्रारूप में बदलने के लिए कर सकता है और इसका उपयोग करना चाहिए। IAmUnkown - ब्लॉग में decoding/transforming the trx file into html के बारे में एक प्रविष्टि है।

अच्छी रिपोर्ट बनाने के लिए आप .NetSpecExporter from Bekk का भी उपयोग कर सकते हैं। उनका उत्पाद XSL का भी उपयोग करता है, इसलिए आप शायद डाउनलोड किए गए फ़ाइल से चोरी चोरी कर सकते हैं और जो भी xsl-application चाहते हैं उसे लागू कर सकते हैं।

3

यदि आप वीएस -2008 का उपयोग कर रहे हैं तो मेरे पास IAmUnknown पर भी एक उत्तर है। जो ऊपर जवाब जो 2005 TRX प्रारूप पर आधारित है अद्यतन करता

यहाँ

एक शैली पत्रक है कि एक पठनीय HTM फ़ाइल बनाता है

<xsl:stylesheet version="2.0" 
       xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
       xmlns:t="http://microsoft.com/schemas/VisualStudio/TeamTest/2006" 
       > 

<xsl:template match="/"> 
    <html> 
    <head> 
     <style type="text/css"> 
      h2 {color: sienna} 
      p {margin-left: 20px} 
      .resultsHdrRow { font-face: arial; padding: 5px } 
      .resultsRow { font-face: arial; padding: 5px } 
      </style> 
    </head> 
    <body> 
    <h2>Test Results</h2> 
    <h3>Summary</h3> 
     <ul> 
      <li>Tests found: <xsl:value-of select="t:TestRun/t:ResultSummary/t:Counters/@total"/></li> 
      <li>Tests executed: <xsl:value-of select="t:TestRun/t:ResultSummary/t:Counters/@executed"/></li> 
      <li>Tests passed: <xsl:value-of select="t:TestRun/t:ResultSummary/t:Counters/@passed"/></li> 
      <li>Tests Failed: <xsl:value-of select="t:TestRun/t:ResultSummary/t:Counters/@failed"/></li> 

     </ul> 
    <table border="1" width="80%" > 
     <tr class="resultsHdrRow"> 
      <th align="left">Test</th> 
      <th align="left">Outcome</th> 
     </tr> 
     <xsl:for-each select="/t:TestRun/t:Results/t:UnitTestResult" > 
     <tr valign="top" class="resultsRow"> 
      <td width='30%'><xsl:value-of select="@testName"/></td> 
      <td width='70%'> 
       <Div>Message: <xsl:value-of select="t:Output/t:ErrorInfo/t:Message"/></Div> 
       <br/> 
       <Div>Stack: <xsl:value-of select="t:Output/t:ErrorInfo/t:StackTrace"/></Div> 
       <br/> 
       <Div>Console: <xsl:value-of select="t:Output/t:StdOut"/></Div> 
      </td> 
     </tr> 
     </xsl:for-each> 
    </table> 
    </body> 
    </html> 
</xsl:template> 

</xsl:stylesheet> 
+1

है आप TFS 2010 में एक गतिविधि है जो इस तरह हो सकता है पता है? – alice7

+0

यह टीएफएस के साथ कुछ लेना देना नहीं है। क्या आपका मतलब msbuild है? आप एक आफ्टरटेस्ट लक्ष्य बना सकते हैं और उसमें कार्यक्षमता जोड़ सकते हैं। –

+0

@PreetSangha वास्तव में, टीएफएस में एक बिल्ड घटक है, जहां बिल्ड प्रक्रिया टेम्पलेट्स XAML (वर्कफ़्लो टेम्पलेट्स, इसलिए तकनीकी रूप से एक्सओएमएल) में परिभाषित किए गए हैं, जिसमें 'गतिविधि' जोड़ा जा सकता है। सवाल यह है कि 'टीएफएस बिल्ड' में 'गतिविधि' है जो ऐसा कर सकती है। इस प्रकार, एलिस 7 के प्रश्न में टीएफएस के साथ सबकुछ करना है और एमएसबिल्ड के साथ कुछ भी नहीं करना है। एमएसबिल्ड से ऐसा करने से एमएसबिल्ड का उपयोग माना जाता है, जबकि संभवतः, यह आवश्यक नहीं है और यह भी आवश्यक रूप से बिल्ड प्रोसेस टेम्पलेट का हिस्सा नहीं है (जैसे कि सीआई प्रक्रिया टेम्पलेट्स जो बिल्ड प्रक्रिया टेम्पलेट्स द्वारा बनाई गई कलाकृतियों के खिलाफ निष्पादित होते हैं।) –

3

तुम भी कोशिश कर सकते हैं है trx2html

+0

क्या हम इसे टीएफएस 2010 के लिए एक गतिविधि के रूप में उपयोग कर सकते हैं? – alice7

+0

@ alice7 हां, आप या तो वर्कफ़्लो में InvokeProcess का उपयोग कर सकते हैं या एक कस्टम गतिविधि बना सकते हैं जिसे मैं दूसरी विधि पसंद करता हूं क्योंकि मेरे पास पूर्ण नियंत्रण है जो मैं करना चाहता हूं। – Ekk

2

आप को मान्य करने की जरूरत है

ध्यान दें, कि XSD स्कीमा availab हैं: पार्स करने/इसे बदलने से पहले स्कीमा, आप स्थापित dir (http://blogs.msdn.com/b/dhopton/archive/2008/06/12/helpful-internals-of-trx-and-vsmdi-files.aspx के माध्यम से) दृश्य स्टूडियो में XSD फ़ाइल पा सकते हैं सभी दृश्य स्टूडियो साथ le में स्थापित करता है:

% VSINSTALLDIR% \ एक्सएमएल \ स्कीमा \ vstst.xsd

फ़ाइल निर्देशिका, कई अन्य स्कीमा के साथ।

0

हाल ही में मैं कनवर्टर जो अजगर आधारित है HTML करने के लिए एक TRX ने लिखा है, एक नज़र https://github.com/avinash8526/Murgi

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