C# 单元测试列表

标签 c# visual-studio list unit-testing

我正在尝试在 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/

相关文章:

python - 如何使用列表 1 中元素的索引来更改列表 2 中的索引?

python - 如何将列表中的n个数字一一输入?

c# - 有没有一种方法可以使用通用主机将调试 secret 从asp.net控制台应用程序传递到docker容器?

c++ - 如何在只有 "makefile"而没有解决方案文件的 Visual Studio C++ 中编译开源框架?

c++ - 同时学习 Visual C++ 2008 和 C++?有什么资源可以推荐吗?

c - 用 C 编写的代码不适用于 Visual Studio

arrays - 是否可以在 F# 中定义列表的长度?

c# - 重写 ASP.NET Core 中的 appsettings 值

c# - Json.NET - 将 EmptyOrWhiteSpace 字符串属性转换为 null

c# - 底部的 PDF 页脚使用 iTextSharp