Asp.net 单元测试在数据库中搜索元素的方法
我想对以下类中的方法进行单元测试:Asp.net 单元测试在数据库中搜索元素的方法,asp.net,ajax,unit-testing,c#-4.0,tdd,Asp.net,Ajax,Unit Testing,C# 4.0,Tdd,我想对以下类中的方法进行单元测试: public class SearchInfo : IDisposable { public List<SearchResult> SerialResults { get; set; } public List<SearchResult> TagResults { get; set; } /// <summary>
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; }
}
}
注:
方法名=FindTags返回结果。
该方法检查输入的标记是否存在于数据库中。如果可用,则返回结果
我们将如何对这个方法进行单元测试
他们嘲笑回购协议
我们已经介绍了抛出异常的场景
问题是如何单元测试所有运行良好的ie用户的场景;与存储库的makeModel匹配的makeModel严格来说,这是一个集成测试,而不是单元测试 通过单元测试,您可以模拟DB交互并简单地测试代码中的逻辑
然而,我理解以这种方式进行测试更容易,我自己也这样做。处理这一问题的方法是将测试数据注入数据库,以提供一致的结果,并对此进行断言。此测试数据可以在TestSetup中注入,如果需要,可以在TestCleanup中删除。谢谢@ChrisBint。你能给我建议一下上面代码的代码单元测试吗?我的意思是,你能给出测试方法吗。