كيف يمكنني تنسيق ملف نتائج اختبار Visual Studio (.trx) إلى تنسيق أكثر قابلية للقراءة؟

StackOverflow https://stackoverflow.com/questions/23446

  •  09-06-2019
  •  | 
  •  

سؤال

لقد بدأت للتو في استخدام ميزات اختبار الوحدة المضمنة في Visual Studio Professional، والتي، كما أفهم، تستخدم اختبار MS لإجراء الاختبارات.

ملف .trx الذي تنتجه الاختبارات هو ملف xml، ولكن هل تتساءل عما إذا كانت هناك طريقة سهلة لتحويل هذا الملف إلى تنسيق أكثر "ملاءمة للمدير"؟

هدفي النهائي هو أن أكون قادرًا على أتمتة اختبار الوحدة وأن أكون قادرًا على إنتاج مستند جميل المظهر يوضح إجراء الاختبارات وكيف تم اجتيازها بنسبة 100٪ :)

هل كانت مفيدة؟

المحلول

وبما أن هذا الملف هو XML، فيمكنك ويجب عليك استخدام xsl لتحويله إلى تنسيق آخر.ال أنا غير معروف - مدونة لديها إدخال حول فك/تحويل ملف trx إلى html.

تستطيع ايضا استخذام .NetSpecExporter من بيك لإنشاء تقارير جميلة.يستخدم منتجهم أيضًا XSL، لذلك ربما يمكنك ذلك يسرق من الملف الذي تم تنزيله وقم بتطبيقه باستخدام أي تطبيق xsl تريده.

نصائح أخرى

إذا كنت تستخدم VS2008، فلدي أيضًا إجابة أنا غير معروف.الذي يقوم بتحديث الإجابة أعلاه والتي تعتمد على تنسيق VS 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>

يمكنك أيضًا المحاولة trx2html

إذا كنت بحاجة إلى التحقق من صحة المخطط قبل تحليله/تحويله، فيمكنك العثور على ملف XSD في دليل تثبيت Visual Studio (عبر http://blogs.msdn.com/b/dhopton/archive/2008/06/12/helpful-internals-of-trx-and-vsmdi-files.aspx):

لاحظ أن مخططات XSD متوفرة مع جميع تثبيتات Visual Studio في:

%VSINSTALLDIR%\xml\Schemas\vstst.xsd

دليل الملف ، جنبا إلى جنب مع العديد من المخططات الأخرى.

لقد قمت مؤخرًا بكتابة محول trx إلى html والذي يعتمد على لغة python، ألقِ نظرةhttps://github.com/avinash8526/Murgi

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top