У меня есть несколько простых методов расширения в 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с модульными тестами и методами, даже если перегрузки в настоящее время связаны.Я не хочу, чтобы в тестах были сделаны предположения о том, что перегрузки связаны между собой и являются сквозными.
Как бы вы подошли к этому?