我寫了我的自定義通用鏈表,並且想測試各種方法。例如,我有Contains方法單元測試通用方法
public bool Contains(T item)
{
lock (this)
{
Node<T> currentNode = firstNode;
while (currentNode != null)
{
if (currentNode.Item != null)
{
if (currentNode.Item.Equals(item))
{
return true;
}
}
currentNode = currentNode.Next;
}
return false;
}
}
我使用MSTest爲此生成單元測試,從而生成此存根。 我不知道我應該把什麼TODO行?
public void AddTestHelper<T>()
{
LinkedList<T> target = new LinkedList<T>(); // TODO: Initialize to an appropriate value
T item = default(T); // TODO: Initialize to an appropriate value
target.Add(item);
Assert.AreEqual(target.Contains(item), true);
}
[TestMethod()]
public void AddTest()
{
AddTestHelper<int>(); // my lines
AddTestHelper<object>(); //my lines
}
然而AddTestHelper或AddTestHelper失敗作爲默認(T)給出了爲null其含有()方法返回false和測試失敗。
我是新來的單元測試,並不知道如何測試這樣的泛型方法。有人可以告訴我在測試方法中特別需要在TODO行中進行哪些更改?
感謝
您不能單元測試不編譯的方法。 –
我的鏈表的所有代碼編譯 –