我正在尝试在 Visual Studios 2013 中进行单元测试,我知道使用下面的方法和提供的参数将返回一个包含“搜索词为空或包含无效字符,请重试”内容的列表。
我的方法是
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]>.
据我所知,它们完全相同,因此测试应该有效。
如有任何帮助,我们将不胜感激
最佳答案
尝试CollectionAssert :
CollectionAssert.AreEqual(matchedAnagrams, anagram.SearchAnagram("gd32", 1))
或者
CollectionAssert.AreEquivalent(matchedAnagrams, anagram.SearchAnagram("gd32", 1))
关于C# 单元测试列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33856433/