我正在使用 Microsoft Unit Test 对我的 .NET 类进行单元测试。我有使用泛型类型的方法,当我使用向导时,它会创建两种方法,一种是使用 GenericParameterHelper 的助手。
我可以将测试更新为特定类型,但我想知道测试泛型的最佳方法是什么。
以下是单元测试向导生成的两种测试方法:
public void ContainsKeyTestHelper<TKey, TValue>()
{
IDictionary<TKey, TValue> dictionaryToWrap = null; // TODO: Initialize to an appropriate value
ReadOnlyDictionary<TKey, TValue> target = new ReadOnlyDictionary<TKey, TValue>(dictionaryToWrap); // TODO: Initialize to an appropriate value
TKey key = default(TKey); // TODO: Initialize to an appropriate value
bool expected = false; // TODO: Initialize to an appropriate value
bool actual;
actual = target.ContainsKey(key);
Assert.AreEqual(expected, actual);
}
[TestMethod()]
public void ContainsKeyTest()
{
ContainsKeyTestHelper<GenericParameterHelper, GenericParameterHelper>();
}
我正在测试的方法(来自自定义 ReadOnlyDictionary (https://cuttingedge.it/blogs/steven/pivot/entry.php?id=29)):
/// <summary>Determines whether the <see cref="T:ReadOnlyDictionary`2" />
/// contains the specified key.</summary>
/// <returns>
/// True if the <see cref="T:ReadOnlyDictionary`2" /> contains
/// an element with the specified key; otherwise, false.
/// </returns>
/// <param name="key">The key to locate in the
/// <see cref="T:ReadOnlyDictionary`2"></see>.</param>
/// <exception cref="T:System.ArgumentNullException">
/// Thrown when the key is null.
/// </exception>
public bool ContainsKey(TKey key)
{
return this.source.ContainsKey(key);
}
我应该使用什么值来初始化每个具有 TODO 的值?