Come posso formattare il file dei risultati del test di Visual Studio (.trx) in un formato più leggibile?

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

  •  09-06-2019
  •  | 
  •  

Domanda

Ho appena iniziato a utilizzare le funzionalità di test unitario integrate di Visual Studio Professional, che, da quanto ho capito, utilizza MS Test per eseguire i test.

Il file .trx prodotto dai test è xml, ma ti chiedevi se esistesse un modo semplice per convertire questo file in un formato più "manager-friendly"?

Il mio obiettivo finale è essere in grado di automatizzare i test unitari ed essere in grado di produrre un documento dall'aspetto gradevole che mostri l'esecuzione dei test e come il 100% di essi sia stato superato :)

È stato utile?

Soluzione

Poiché questo file è XML, potresti e dovresti utilizzare XSL per trasformarlo in un altro formato.IL Sono sconosciuto - il blog ha una voce su decodificare/trasformare il file trx in html.

Puoi anche usare .NetSpecExporter di Bekk per creare report interessanti.Anche il loro prodotto utilizza XSL, quindi probabilmente potresti rubare scaricalo dal file scaricato e applicalo con l'applicazione XSL che desideri.

Altri suggerimenti

Se stai utilizzando VS2008, ho anche una risposta su Sono sconosciuto.Che aggiorna la risposta sopra che si basa sul formato trx VS 2005

ecco un foglio di stile che crea un file HTM leggibile

<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>

puoi anche provare trx2html

Se è necessario convalidare lo schema prima di analizzarlo/trasformarlo, è possibile trovare il file XSD nella directory di installazione di Visual Studio (tramite http://blogs.msdn.com/b/dhopton/archive/2008/06/12/helpful-internals-of-trx-and-vsmdi-files.aspx):

Si noti che gli schemi XSD sono disponibili con tutti i Visual Studio Si installa in:

%VSINSTALLDIR%\xml\Schemas\vstst.xsd

directory, insieme a molti altri altri schemi.

Recentemente ho scritto un convertitore da trx a html basato su Python, dai un'occhiatahttps://github.com/avinash8526/Murgi

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top