Visual studio MSTEST/VSTS反射工具

Visual studio MSTEST/VSTS反射工具,visual-studio,mstest,Visual Studio,Mstest,有人知道有一种工具会在解决方案中列出所有具有[TestMethod]属性的方法列表吗 我们试图完成的是,与客户一起,根据需求审查我们的单元测试(名称,而不是通过/失败状态)。我们在团队系统中使用VSTS 2008和Scrum,所以我不确定这是否是某个地方内置的东西,或者这是否是一个工具,我只需要为了我们的目的而将其组合在一起。任何帮助都会很好。谢谢。VS通过生成TRX文件来汇总测试运行的结果,基本上免费提供了这种功能。在一个项目中运行所有测试有许多不同的方法,但是选择一种,mstest将使用[T

有人知道有一种工具会在解决方案中列出所有具有[TestMethod]属性的方法列表吗


我们试图完成的是,与客户一起,根据需求审查我们的单元测试(名称,而不是通过/失败状态)。我们在团队系统中使用VSTS 2008和Scrum,所以我不确定这是否是某个地方内置的东西,或者这是否是一个工具,我只需要为了我们的目的而将其组合在一起。任何帮助都会很好。谢谢。

VS通过生成TRX文件来汇总测试运行的结果,基本上免费提供了这种功能。在一个项目中运行所有测试有许多不同的方法,但是选择一种,mstest将使用[TestMethod]属性运行每个方法,并在结果文件中生成UnitTestResult

您要求的基本上是测试结果窗口在完成测试运行后显示的内容。如果您正在寻找VS之外的内容,则可以对测试结果(.trx)文件运行简单的XSLT转换,从而获得定制的摘要。下面是一个非常粗略的示例,它证明了这个概念,为每个单元测试生成了一个HTML文档,其中包含一个无序列表,其中包含一个列表项(测试名称和结果):

<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
            xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
            xmlns:vs="http://microsoft.com/schemas/VisualStudio/TeamTest/2006">

    <xsl:template match="/">
        <html>
            <head>
                <style type="text/css">

                    body { font-family: verdana; font-size: 12px; }

                    .pass { color: green; }
                    .nopass { color: red; }

                    h1 { font-size: 13px; margin: 3px; }

                    ul { margin: 3px 20px 3px 40px; }
                </style>
            </head>
            <body>

                <h1>Test Results</h1>
                <ul>

            <xsl:apply-templates select="//vs:Results//vs:UnitTestResult" />

                </ul>
            </body>
        </html>

    </xsl:template>
    <xsl:template match="vs:UnitTestResult" >
        <li>
            <xsl:value-of select="@testName" />
            &#160;

            <xsl:variable name="Result">
                <xsl:choose>
                    <xsl:when test="@outcome='Passed'">pass</xsl:when>
                    <xsl:otherwise>nopass</xsl:otherwise>
                </xsl:choose>
            </xsl:variable>

            <b class="{$Result}">
                <xsl:value-of select="@outcome" />
            </b>
        </li>

    </xsl:template>
</xsl:stylesheet>

正文{字体系列:verdana;字体大小:12px;}
.pass{color:green;}
.nopass{颜色:红色;}
h1{字体大小:13px;边距:3px;}
ul{保证金:3px20px 3px40px;}
测试结果
  •   通过 没有

  • VS通过生成TRX文件来汇总测试运行的结果,基本上免费提供了这种功能。在一个项目中运行所有测试有许多不同的方法,但是选择一种,mstest将使用[TestMethod]属性运行每个方法,并在结果文件中生成UnitTestResult

    您要求的基本上是测试结果窗口在完成测试运行后显示的内容。如果您正在寻找VS之外的内容,则可以对测试结果(.trx)文件运行简单的XSLT转换,从而获得定制的摘要。下面是一个非常粗略的示例,它证明了这个概念,为每个单元测试生成了一个HTML文档,其中包含一个无序列表,其中包含一个列表项(测试名称和结果):

    <?xml version='1.0'?>
    <xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:vs="http://microsoft.com/schemas/VisualStudio/TeamTest/2006">
    
        <xsl:template match="/">
            <html>
                <head>
                    <style type="text/css">
    
                        body { font-family: verdana; font-size: 12px; }
    
                        .pass { color: green; }
                        .nopass { color: red; }
    
                        h1 { font-size: 13px; margin: 3px; }
    
                        ul { margin: 3px 20px 3px 40px; }
                    </style>
                </head>
                <body>
    
                    <h1>Test Results</h1>
                    <ul>
    
                <xsl:apply-templates select="//vs:Results//vs:UnitTestResult" />
    
                    </ul>
                </body>
            </html>
    
        </xsl:template>
        <xsl:template match="vs:UnitTestResult" >
            <li>
                <xsl:value-of select="@testName" />
                &#160;
    
                <xsl:variable name="Result">
                    <xsl:choose>
                        <xsl:when test="@outcome='Passed'">pass</xsl:when>
                        <xsl:otherwise>nopass</xsl:otherwise>
                    </xsl:choose>
                </xsl:variable>
    
                <b class="{$Result}">
                    <xsl:value-of select="@outcome" />
                </b>
            </li>
    
        </xsl:template>
    </xsl:stylesheet>
    
    
    正文{字体系列:verdana;字体大小:12px;}
    .pass{color:green;}
    .nopass{颜色:红色;}
    h1{字体大小:13px;边距:3px;}
    ul{保证金:3px20px 3px40px;}
    测试结果
    
  •   通过 没有