我正在評論我公開給客戶的API(.Net)。 我正在通過使用XML註釋並通過SandCastle進行提取。將單元測試代碼轉換爲XML註釋
這是所有罰款和花花公子,但我已經單元測試的API,並認爲從這些代碼將是很好的示例代碼中的地方。
那麼沒有人知道提取單元測試代碼並放置在示例代碼中的好方法嗎? 還是有人有更好的想法?
當然,我用API重新分配單元測試,但在文檔中使用它們會很好。
我正在評論我公開給客戶的API(.Net)。 我正在通過使用XML註釋並通過SandCastle進行提取。將單元測試代碼轉換爲XML註釋
這是所有罰款和花花公子,但我已經單元測試的API,並認爲從這些代碼將是很好的示例代碼中的地方。
那麼沒有人知道提取單元測試代碼並放置在示例代碼中的好方法嗎? 還是有人有更好的想法?
當然,我用API重新分配單元測試,但在文檔中使用它們會很好。
我使用NUnit和沙堡幫助文件生成器。請查看關於代碼塊組件的Sandcastle Help File Builder文檔。
這是我如何放置的單元測試代碼在例如標籤的一個示例:
/// <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 ToString_a
[Test]
public void ToString_a()
{
CSVDataRow res = new CSVDataRow
{
Data = "1;2;3"
};
Assert.AreEqual(res.ToString(), res.Data);
}
#endregion
此致敬禮。
我看到喬恩Skeet har答案,這需要一些工作: Automatically Unit Test Example Code 有沒有人去實施這個? 有沒有更簡單的方法? 這個問題是關於從CS文件得到一個梅託德體: Get a method's contents from a cs file
我做了一個項目,要做到這一點: http://code.google.com/p/addsourcetodocumentation/