Подтвердить что ты не робот

Что такое 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>();
}
4b9b3361

Ответ 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