我在c#中有一些簡單的擴展方法我正在寫單元測試。其中一種擴展方法超載,所以我很難爲單元測試提出一個合理的命名約定。c#單元測試 - 重載方法測試的命名約定
public static class StringExtensions
{
public static List<string> ToList(this string value, char delimiter)
{
return ToList(value, new[] { delimiter });
}
public static List<string> ToList(this string value, char[] delimiterSet) { .. }
}
如果我想寫兩個單元測試,一個用於您將如何命名測試每一種方法:
例重載方法?通常我會簡單地使用:
[TestMethod, TestCategory("Single Method Tests")]
public void ToListTest
但具有相同名稱的兩個方法,我在努力尋找一個好習慣..
[TestMethod, TestCategory("Single Method Tests")]
public void ToListTest
[TestMethod, TestCategory("Single Method Tests")]
public void ToListTestOverload
是可怕的。
[TestMethod, TestCategory("Single Method Tests")]
public void ToListTestWithChar
[TestMethod, TestCategory("Single Method Tests")]
public void ToListTestWithCharArray
基於參數類型更好但仍然非常可怕。
有些人可能會建議編寫一個針對兩種重載的測試方法,但我理想情況下希望與單元測試和方法具有1:1的關係,即使重載目前是鏈接的。我不希望在測試中做出任何關於過載被鏈接和傳遞的假設。
你會如何處理這個問題?
謝謝我事後認爲這種方法,並提供了一個很好的鏈接。 +1並回答。 – 2011-04-19 19:03:13