什么是GenericParameterHelper以及它是如何使用的?

时间:2009-10-28 20:40:28

标签: .net

我在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>();
}

2 个答案:

答案 0 :(得分:8)

假设你有一个班级:

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>();

...或多或少地代表“任何旧类型。”

答案 1 :(得分:0)

正如你所说,它似乎只是一个占位符。我找到了这个有用的页面,其中包含如何编辑测试方法以使其有用的示例。

http://msdn.microsoft.com/en-us/library/ms243401.aspx