3

顧客に公開している API (.Net) にコメントしようとしています。XML コメントを使用し、SandCastle を介して抽出することでこれを行っています。

これはすべてうまくいきますが、私は API の単体テストを行っており、これらのコードを example タグに配置するとよいと考えました。

単体テストコードを抽出してサンプルタグに配置する良い方法を知っている人はいますか? または、誰かがより良いアイデアを持っていますか?

もちろん単体テストはAPIで再配布していますが、ドキュメントにまとめていただけると助かります。

4

2 に答える 2

4

NUnit と Sandcastle Help File Builder を使用しています。The Code Block Component については、Sandcastle Help File Builder のドキュメントを参照してください。

example タグに単体テスト コードを配置する方法の例を次に示します。

    /// <summary>
    /// Returns a string representation of an object.
    /// </summary>
    /// <returns>Comma separated string.</returns>
    /// <example>
    /// <code source="UnitM.CentrallProcessingLib.Tests\Data\CSVDataRowTests.cs" region="ToString_a" />
    /// </example>
    public override string ToString()
    {
        return this.Data;
    }

参照されている単体テスト (CSVDataRowTests.cs) を次に示します (#region セクション内にある必要があります)。

  #region ToString_a

    [Test]
    public void ToString_a()
    {
        CSVDataRow res = new CSVDataRow 
        {
            Data = "1;2;3"
        };

        Assert.AreEqual(res.ToString(), res.Data);
    }

  #endregion

よろしくお願いします。

于 2008-12-04T20:20:15.953 に答える
1

Jon Skeet har がいくつかの作業が必要な答えを示していることがわかり ます。もっと簡単な方法はありますか?この質問は、cs ファイルからメソッド本体を取得することに関するものです: Get a method's contents from a cs file

これを行うためのプロジェクトを作成しました: http://code.google.com/p/addsourcetodocumentation/

于 2008-11-28T10:57:54.060 に答える