单元测试;try-catch for方法返回一个对象列表c#

本文关键字:一个对象 列表 返回 方法 try-catch for 单元测试 | 更新日期: 2023-09-27 18:24:31

我的WCF服务中有以下方法。我需要为它做一个单元测试,但不确定如何做,因为它返回了一个对象列表Mountain。

该方法采用网格引用(例如NN),并在列表装载列表中搜索以NN开头的网格引用的山脉。

还有人能帮助我如何尝试接球吗?我不知道该返回什么,因为它预计会返回一个Mountain对象。(如果未找到返回-例如,山不在列表中)。

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

单元测试;try-catch for方法返回一个对象列表c#

在这种情况下,您的方法只是对类型为IEnumerable<Mountain>的列表应用一个筛选器,该列表保存在名为mountsList的变量中。

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

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