Что такое GenericParameterHelper и как он используется?
Я сгенерировал модульные тесты для общего класса в VS 2008 и использовал тип GenericParameterHelper во всех местах, где общий тип был использован. Является ли это заполнитель, который должен быть заменен или он имеет какое-то применение? Каковы применения, если они есть?
Здесь один из тестов, которые он сгенерировал в качестве примера:
/// <summary>
///A test for Count
///</summary>
public void CountTestHelper<TKey, TValue>()
{
ObservableDictionary<TKey, TValue> target = new ObservableDictionary<TKey, TValue>(); // TODO: Initialize to an appropriate value
int actual;
actual = target.Count;
Assert.Inconclusive("Verify the correctness of this test method.");
}
[TestMethod()]
public void CountTest()
{
CountTestHelper<GenericParameterHelper, GenericParameterHelper>();
}
Ответы
Ответ 1
Скажем, у вас есть класс:
public class Foo<T>
{
public bool DoSomething()
{
return false;
}
public T DoSomethingElse()
{
// ...
}
Теперь вы хотите протестировать DoSomething. Сначала вам нужно создать экземпляр Foo. Вы не можете:
var foo = new Foo<T>();
Вы должны использовать реальный тип. Но T не используется в методе, так что это шум в тесте. Итак, вы можете сделать:
var foo = new Foo<GenericParameterHelper>();
..., который более или менее стоит для "любого старого типа".
Ответ 2
Как вы сказали, это просто местозаполнитель. Я нашел эту полезную страницу с примерами того, как редактировать методы тестирования, чтобы сделать их полезными.
http://msdn.microsoft.com/en-us/library/ms243401.aspx