单元测试&;尝试捕获返回对象列表的方法c#
我的WCF服务中有以下方法。我需要为它做一个单元测试,但我不确定如何做,因为它返回一个对象列表 该方法采用栅格参考,例如NN-并在列表mountslist中搜索栅格参考从NN开始的山脉 还有谁能帮我做一个试捕呢?我不知道该返回什么,因为它需要一个山上的物体。(如果未找到返回-例如列表中未列出的山)单元测试&;尝试捕获返回对象列表的方法c#,c#,wcf,unit-testing,exception,try-catch,C#,Wcf,Unit Testing,Exception,Try Catch,我的WCF服务中有以下方法。我需要为它做一个单元测试,但我不确定如何做,因为它返回一个对象列表 该方法采用栅格参考,例如NN-并在列表mountslist中搜索栅格参考从NN开始的山脉 还有谁能帮我做一个试捕呢?我不知道该返回什么,因为它需要一个山上的物体。(如果未找到返回-例如列表中未列出的山) public IEnumerable GetMountainLoc(字符串mtloc) { IEnumerable resultMts= 登山者 其中(x=>x.Grid\u参考子串(0,2)
public IEnumerable GetMountainLoc(字符串mtloc)
{
IEnumerable resultMts=
登山者
其中(x=>x.Grid\u参考子串(0,2)==mtloc)
.ToList();
返回结果;
}
在本例中,您的方法只是对类型为IEnumerable
的列表应用一个过滤器,该列表保存在名为mountsList的变量中
因此,测试这一点的一种方法是对该方法返回的过滤列表进行断言。但是,为了做到这一点,您需要知道单元测试运行时变量mountsList的状态
那么这个变量是如何在包含类中设置的呢?它通过了吗?它是通过其他方式建造的吗?无论哪种情况,除非您在测试时知道该列表的状态,否则您将需要替换或以其他方式注入该列表的已知表示,以便您可以对其做出准确的断言 我想尝试找到这座山,如果找不到它,它将崩溃,所以我想避免这种情况。你知道如何对它进行单元测试吗?
public IEnumerable<Mountain> GetMountainLoc(string mtloc)
{
IEnumerable<Mountain> resultMts =
mountsList
.Where(x => x.Grid_ref.Substring(0, 2) == mtloc)
.ToList();
return resultMts;
}