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