我想为以下类中的方法执行单元测试:
public class SearchInfo : IDisposable
{
public List<SearchResult> SerialResults { get; set; }
public List<SearchResult> TagResults { get; set; }
/// <summary>
/// Uses the Search string to filter a resultset by Serial and Tag
/// </summary>
/// <param name="search"></param>
public SearchInfo(string search)
{
SerialResults = new List<SearchResult>();
TagResults = new List<SearchResult>();
SerialResults.AddRange(FindSerial(search));
TagResults.AddRange(FindTags(search));
}
private static IEnumerable<SearchResult> FindTags(string search)
{
List<SearchResult> result;
using (var db = new TIPWebITDataContext())
{
result = (from i in db.tblTechInventories
where i.Tag.Equals(search)
select new SearchResult()
{
SearchType = "Tag",
Key = i.Tag,
KeyCaption = i.Tag,
Name = i.tblTechItem.ItemName
}).ToList();
}
return result;
}
private static IEnumerable<SearchResult> FindSerial(string search)
{
List<SearchResult> result;
using (var db = new TIPWebITDataContext())
{
result = (from i in db.tblTechInventories
where i.Serial.Contains(search)
select new SearchResult()
{
SearchType = "Searial",
Key = i.Tag,
KeyCaption = i.Serial,
Name = i.tblTechItem.ItemName
}).ToList();
}
return result;
}
#region Implementation of IDisposable
public void Dispose()
{
SerialResults = null;
TagResults = null;
}
#endregion
}
public class SearchResult
{
public string SearchType { get; set; }
public string Key { get; set; }
public string KeyCaption { get; set; }
public string Name { get; set; }
}
}
注意:
方法Name = FindTags()
返回返回结果。
该方法检查输入的标签是否存在于数据库中。如果可用则返回结果。
我们如何对这种方法进行单元测试?
嘲笑了回购 涵盖了&#34; THROWS EXCEPTION&#34; 问题是如何对所有WENT WELL即用户的场景进行单元测试; s makeModel与存储库的makeModel
匹配答案 0 :(得分:0)
严格来说,这是一个集成测试,而不是单元测试。
通过单元测试,您可以模拟数据库交互并简单地测试代码中的逻辑。
但是,我很欣赏以这种方式测试更容易,而且我自己也这样做。处理这个问题的方法是将测试数据注入到数据库中,从而提供一致的结果并对其进行断言。此测试数据可以在TestSetup中注入,并在TestCleanup中根据需要删除。