1

ソリューション内の[TestMethod]属性を持つすべてのメソッドのリストを吐き出すツールを知っている人はいますか?

私たちが達成しようとしているのは、要件に対する単体テスト(合格/不合格のステータスではなく名前)をお客様と一緒にレビューすることです。チームシステムにVSTS2008とスクラムを使用しているので、これがどこかに組み込まれているものなのか、それとも私たちの目的のために一緒に投げる必要があるツールなのかはわかりませんでした。どんな助けでも素晴らしいでしょう。ありがとう。

4

1 に答える 1

1

VS は基本的に、テスト実行の結果を要約する TRX ファイルを生成することにより、この機能を無料で提供します。プロジェクト内のすべてのテストを実行するにはさまざまな方法がありますが、1 つを選択すると、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>
于 2009-03-30T00:14:33.247 に答える