Visual Studio 테스트 결과 파일(.trx)을 더 읽기 쉬운 형식으로 지정하려면 어떻게 해야 하나요?

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

  •  09-06-2019
  •  | 
  •  

문제

방금 Visual Studio Professional의 기본 제공 단위 테스트 기능을 사용하기 시작했습니다. 제가 이해한 바로는 MS Test를 사용하여 테스트를 실행하는 것입니다.

테스트에서 생성된 .trx 파일은 xml이지만 이 파일을 보다 "관리자 친화적인" 형식으로 변환하는 쉬운 방법이 있는지 궁금하십니까?

나의 궁극적인 목표는 단위 테스트를 자동화하고 테스트 실행과 테스트의 100% 통과 방법을 보여주는 멋진 문서를 생성할 수 있는 것입니다. :)

도움이 되었습니까?

해결책

이 파일은 XML이므로 xsl을 사용하여 다른 형식으로 변환할 수 있고 사용해야 합니다.그만큼 알 수 없음 - 블로그에 대한 항목이 있습니다. trx 파일을 html로 디코딩/변환.

당신은 또한 사용할 수 있습니다 Bekk의 .NetSpecExporter 좋은 보고서를 만들 수 있습니다.해당 제품도 XSL을 사용하므로 아마도 훔치다 다운로드한 파일에서 원하는 xsl-application에 적용하세요.

다른 팁

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

구문 분석/변환하기 전에 스키마의 유효성을 검사해야 하는 경우 Visual Studio 설치 디렉터리에서 XSD 파일을 찾을 수 있습니다(다음을 통해). 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

다른 많은 스키마와 함께 파일 디렉토리.

최근에 저는 Python 기반의 trx to html 변환기를 작성했습니다. 한 번 보세요.https://github.com/avinash8526/Murgi

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top