2015-11-22 97 views
1

我試圖在Visual Studio 2013中進行單元測試,我知道使用下面的方法和提供的參數將返回一個包含「搜索項爲空或包含無效字符的內容的列表,請再試一次」。C#單元測試列表

我的方法是

public List<string> SearchAnagram(string searchTerm,int userid) 
    { 
     List<string> matchedAnagrams = new List<string>(); 

     matchedAnagrams.Add("Search term empty or contains invalid characters, please try again");  

     return matchedAnagrams;  
    } 

測試如下方法:

public void TestDigitSearchTerm() 
    { 
     List<string> matchedAnagrams = new List<string>(); 
     matchedAnagrams.Add("Search term empty or contains invalid characters, please try again"); 
     Assert.AreEqual(matchedAnagrams, anagram.SearchAnagram("gd32", 1)); 
    } 

但是我收到的

Message: Assert.AreEqual failed. 
Expected:<System.Collections.Generic.List`1[System.String]>. 
Actual: <System.Collections.Generic.List`1[System.String]>. 

從我可以看到他們是他們完全一樣的所以測試應該工作。

任何幫助,將不勝感激

回答

1

嘗試CollectionAssert

CollectionAssert.AreEqual(matchedAnagrams, anagram.SearchAnagram("gd32", 1)) 

或者

CollectionAssert.AreEquivalent(matchedAnagrams, anagram.SearchAnagram("gd32", 1)) 
+1

謝謝!工作得很好,沒有意識到還有另一個斷言,要等幾分鐘才能回答。 – Hopeless

+0

或者,斷言'SeuquenceEqual' https://msdn.microsoft.com/library/bb348567(v=vs.100).aspx –