繁体   English   中英

单元测试并尝试捕获返回对象列表的方法C#

[英]Unit Test & try catch for method returning a list of objects c#

我的WCF服务中具有以下方法。 我需要对其进行单元测试,但由于它返回对象列表Mountain,因此不确定如何执行此操作。

该方法采用网格参考(例如NN),并在列表mountslist中搜索那些以NN开头的网格参考的山脉。

也有人可以帮助我尝试一下吗? 我对返回什么感到困惑,因为它期望使用Mountain对象。 (如果未找到,则返回-例如,山不在列表中)。

public IEnumerable<Mountain> GetMountainLoc(string mtloc)
{    
  IEnumerable<Mountain> resultMts = 
       mountsList
       .Where(x => x.Grid_ref.Substring(0, 2) == mtloc)
       .ToList();
  return resultMts;    
}

在这种情况下,您的方法只是对一个名为mountsList的变量中包含的IEnumerable<Mountain>类型的列表应用过滤器。

因此,一种测试方法是对方法返回的已过滤列表进行断言。 但是,为此,您需要在单元测试运行时知道变量mountsList的状态。

那么如何在包含类中设置此变量? 它通过了吗? 它是通过其他方式构造的吗? 无论如何,除非您在测试时知道此列表的状态,否则将需要替换或以其他方式注入此列表的已知表示形式,以便可以对它做出准确的断言。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM