3

我正在尝试评论我向客户公开的 API (.Net)。我通过使用 XML 注释和通过 SandCastle 提取来做到这一点。

这一切都很好而且很花哨,但是我对 API 进行了单元测试,并且认为这些代码可以很好地放在示例标签中。

那么有人知道提取单元测试代码并放入示例标签的好方法吗?或者有人有更好的想法吗?

当然,我使用 API 重新分发单元测试,但最好将它们包含在文档中。

4

2 回答 2

4

我正在使用 NUnit 和 Sandcastle 帮助文件生成器。请查看有关代码块组件的 Sandcastle 帮助文件生成器文档。

这是我如何在示例标记中放置单元测试代码的示例:

    /// <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 给出了一个答案,这需要一些工作: 自动单元测试示例代码 有人去实现这个吗?有没有更简单的方法?这个问题是关于从 cs 文件中获取方法体: Get a method's contents from a cs file

我做了一个项目来做到这一点: http ://code.google.com/p/addsourcetodocumentation/

于 2008-11-28T10:57:54.060 回答