.NET クラスの単体テストに Microsoft Unit Test を使用しています。ジェネリック型を使用するメソッドがあり、ウィザードを使用すると、2 つのメソッドが作成されます。1 つは GenericParameterHelper を使用するヘルパーです。
テストを特定のタイプに更新することはできますが、ジェネリックをテストするための最良のアプローチは何であるか疑問に思っています。
以下に、単体テスト ウィザードが作成した 2 つのテスト メソッドを示します。
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 を持つ各値を初期化するには、どの値を使用すればよいですか?