17

私が理解しているように、MS Testを使用してテストを実行する、Visual Studio Professionalの組み込みの単体テスト機能の使用を開始しました。

テストが生成する .trx ファイルは xml ですが、このファイルをより「管理しやすい」形式に変換する簡単な方法があるかどうか疑問に思っていましたか?

私の最終的な目標は、単体テストを自動化し、テストの実行とそれらの 100% のパスを示す見栄えの良いドキュメントを作成できるようにすることです:)

4

5 に答える 5

9

このファイルは XML であるため、xsl を使用して別の形式に変換できます。IAmUnkown - ブログには、 trxファイルの html へのデコード/変換に関するエントリがあります。

Bekk の .NetSpecExporter を使用して、優れたレポートを作成することもできます。彼らの製品も XSL を使用しているため、おそらくダウンロードしたファイルからXSL を盗み、必要な xsl アプリケーションに適用することができます。

于 2008-08-22T20:58:42.123 に答える
4

trx2htmlを試すこともできます

于 2011-05-15T23:17:39.160 に答える
3

VS2008を使用している場合は、 IAmUnknownにも回答があります。これは、VS2005trx形式に基づく上記の回答を更新します

これは、読み取り可能な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>
于 2008-11-14T08:11:47.927 に答える
3

スキーマを解析/変換する前にスキーマを検証する必要がある場合は、Visual Studio のインストール ディレクトリで XSD ファイルを見つけることができます ( http://blogs.msdn.com/b/dhopton/archive/2008/06/12/helpful経由)。 -trx-and-vsmdi-files.aspx の内部):

XSD スキーマは、次のすべての Visual Studio インストールで使用できることに注意してください。

%VSINSTALLDIR%\xml\Schemas\vstst.xsd

ファイルディレクトリ、および他の多くのスキーマ。

于 2012-06-03T15:47:16.327 に答える
0

最近、Pythonベースのtrxからhtmlへのコンバーターを1つ作成しました 。https://github.com/avinash8526/Murgiをご覧ください

于 2015-02-03T12:59:29.040 に答える